ArdenSuite API (0.9.2)

Download OpenAPI specification:

API Documentation for ArdenSuite

Execution Log

Search in MLM execution history

Get logs sorted by event time descending, optionally from a specified finishedTime on

path Parameters
workspaceUuid
required
string <uuid>
query Parameters
limit
integer <int32>
Default: 100
from-time
string <date-time>

Responses

Execution

Call, run or debug medical logic modules

Run an MLM directly from the given source code.

Run an MLM directly from source code. The MLM will be executed as if it existed in the given workspace.It can call other accessible MLMs and plugins but cannot be called itself,as it is never saved to the server.The result of the execution is returned.

Request Body schema: application/json
required
Array of objects (ArdenValueDto)
eventTime
string <date-time>

EventTime is an argument passed to the MLM. It indicates when the original event happened (eg. presence of a clinical report or finished observation) that caused this MLM to be called.

workspaceUuid
string <uuid>

In which workspace to look for or execute an MLM.

sourceCode
required
string

Full & valid MLM source code to execute

Responses

Request samples

Content type
application/json
{
  • "args": [
    ],
  • "eventTime": "2019-08-24T14:15:22Z",
  • "workspaceUuid": "440374de-d1f6-4e58-8880-bb86654d7756",
  • "sourceCode": "string"
}

Response samples

Content type
application/json
{
  • "value": [
    ]
}

Debug an MLM directly that is associated with the given debug configuration.

Debug an MLM directly that is associated with the given debug configuration. The MLM will be debugged with the given arguments.The result of the execution is returned.

path Parameters
debugConfigurationUuid
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "value": [
    ]
}

Call an MLM by name and institution with an accompanying execution request.

Call an MLM by name and institution. The version is optional. If not provided, the latest version will be used. The MLM must be available and accessible. The execution request contains the arguments and configuration for the MLM execution. The result of the execution is returned.

query Parameters
mlmName
required
string
Example: mlmName=evaluate

Name of the MLM, as defined within the MLM file

institution
string
Example: institution=Medexter Healthcare

Institution of the MLM, as defined within the MLM file

version
string
Example: version=1.0.0

Version of the MLM, as defined within the MLM file

Request Body schema: application/json
required
Array of objects (ArdenValueDto)
eventTime
string <date-time>

EventTime is an argument passed to the MLM. It indicates when the original event happened (eg. presence of a clinical report or finished observation) that caused this MLM to be called.

workspaceUuid
string <uuid>

In which workspace to look for or execute an MLM.

Responses

Request samples

Content type
application/json
{
  • "args": [
    ],
  • "eventTime": "2019-08-24T14:15:22Z",
  • "workspaceUuid": "440374de-d1f6-4e58-8880-bb86654d7756"
}

Response samples

Content type
application/json
{
  • "value": [
    ]
}

MCP

Interactions with the Model Context Protocol server

Get a list of MLM IDs eligible for MCP registration.

path Parameters
workspaceUuid
required
string <uuid>
pluginUuid
required
string <uuid>

Responses

MLM Metadata

Analysing medical logic module source code to extract various information such as used plugins or referenced MLMs.

Re-create meta information for all MLMs

Deletes all existing meta resources and creates new ones from each MLM

Responses

Analyse metadata from source code

Get a full list of meta resources present in an MLM via source code, such as plugins or references MLMs. Metadata is calculated directly from MLM source code.

path Parameters
uuid
required
string <uuid>
query Parameters
required
object (MlmMetaRequest)

Responses

Get metadata for MLM

Get a full list of meta resources present in an MLM. This meta information is computed and kept up to date automatically whenever the corresponding MLM is updated.

path Parameters
mlmUuid
required
string <uuid>

Responses

CDS Hooks

Standardized endpoint for retrieving and triggering available CDS Hooks. CDS Hooks are defined via plugin configuration, MLMs are triggered by evoke slot.

Trigger a CDS service

path Parameters
id
required
string

The id of this CDS service

Request Body schema: application/json
required
One of
hook
required
string
Enum: "patient-view" "order-select"

id of the hook that triggered this CDS Service call

hookInstance
required
string <uuid>

UUID for this hook call

fhirServer
string

NOT SUPPORTED base URL for CDS Client’s FHIR server

object (FhirAuthorization)

NOT SUPPORTED structure with FHIR Authorization information for the 'fhirServer' url

object

FHIR data prefetched by the CDS Client

required
object (OrderSelectContext)

hook-specific contextual data

Responses

Request samples

Content type
application/json
Example
{
  • "hook": "patient-view",
  • "hookInstance": "7ae25097-302e-4aad-b366-3b3658ee874c",
  • "fhirServer": "string",
  • "fhirAuthorization": {
    },
  • "prefetch": {
    },
  • "context": {
    }
}

Get all available CDS services

Responses

Users

Manage users and associated information

Get all users

Responses

Create user

Only an admin or user with user management permission is permitted to create a new user. A private user workspace will be created if createUserWorkspace is set.

Request Body schema: application/json
required
username
required
string

Username of the user, must be unique

email
required
string

Email of the user, must be unique

password
required
string

Password of the user

firstName
string or null

First name of the user

lastName
string or null

Last name of the user

Array of objects (AssignRoleByRoleIdRequest)

Roles to assign this user to

createUserWorkspace
boolean
Default: false

Create a workspace for this user

notes
string

Notes for this user (can be empty)

defaultWorkspaceUuid
string or null <uuid>

Default workspace of the user

clientSettings
object (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "username": "john.doe",
  • "email": "john.doe@gmail.com",
  • "password": "Password123",
  • "firstName": "John",
  • "lastName": "Doe",
  • "roles": "123e4567-e89b-12d3-a456-426614174000",
  • "createUserWorkspace": false,
  • "notes": "string",
  • "defaultWorkspaceUuid": "123e4567-e89b-12d3-a456-426614174000",
  • "clientSettings": { }
}

Overwrite password

Overwrite a user password without further consideration, just the given new password is validated. This request can be used to reset a users password, although it's only allowed for User Manager roles

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
password
required
string

The new valid password to enforce overwriting the old PW with

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Get client settings

Get the client settings object for a user. Client settings can be any JSON object. This is intended for the frontend or other applications to store their user specific configuration.

path Parameters
uuid
required
string <uuid>

Responses

Update client settings

Update the client settings object for a user. Client settings is any valid JSON object. This is intended for the frontend or other applications to store their user specific configuration.

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
object (JsonNode)

Responses

Request samples

Content type
application/json
{ }

Change password

Update a user password with an ordinary request, which is validated and requires to know the current password and confirm new password input. Only with this request can ordinary users change their own password.

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
oldPassword
required
string

The current password of the user

newPassword
required
string

The new password which is not the same as the old password and is valid

confirmPassword
required
string

The new password must match the new password

Responses

Request samples

Content type
application/json
{
  • "oldPassword": "string",
  • "newPassword": "string",
  • "confirmPassword": "string"
}

Get user

path Parameters
uuid
required
string <uuid>

Responses

Delete user

Only an admin or user with user management permission is permitted to delete a user.

path Parameters
uuid
required
string <uuid>

Responses

Update user

Only an admin or user with user management permission is permitted to update a user.

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
username
required
string

Username of the user, the user name must be unique

email
required
string

Email of the user, must be unique

firstName
string

First name of the user

lastName
string

Last name of the user

notes
string

Notes for this user (can be empty)

defaultWorkspaceUuid
string <uuid>

Default workspace of the user

clientSettings
object (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "username": "john.doe",
  • "email": "john.doe@gmail.com",
  • "firstName": "John",
  • "lastName": "Doe",
  • "notes": "string",
  • "defaultWorkspaceUuid": "123e4567-e89b-12d3-a456-426614174000",
  • "clientSettings": { }
}

Get roles assigned to the user

path Parameters
uuid
required
string <uuid>

Responses

Get currently logged in user

Responses

Authentication

Retrieve and refresh access tokens

Refresh token

cookie Parameters
refreshToken
string <uuid>

Responses

Retrieve token

Request Body schema: application/json
required
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Recycle Bin

List and recover MLMs in recycle bin

Get the public workspace Deprecated

Recover a deleted MLM from the recycling bin.

path Parameters
uuid
required
string <uuid>

Responses

List recycle bin inside a workspace Deprecated

List all deleted MLMs in workspace which is identified by path parameter.

path Parameters
uuid
required
string <uuid>

Responses

Roles

Assign and unassign user roles

Unassign a role off the user

Unassign a given role off the user. Only an admin or user with role management permission is allowed to unassign roles.

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
object (OwnedEntityDto)

Entities for which the user has this role

userId
required
string <uuid>

The UUID of the user to assign the role to

Responses

Request samples

Content type
application/json
{
  • "ownedEntity": {
    },
  • "userId": "123e4567-e89b-12d3-a456-426614174000"
}

Assign a role to the user

Assign a given role to the user. Only an admin or user with role management permission is allowed to assign roles.

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
object (OwnedEntityDto)

Entities for which the user has this role

userId
required
string <uuid>

The UUID of the user to assign the role to

Responses

Request samples

Content type
application/json
{
  • "ownedEntity": {
    },
  • "userId": "123e4567-e89b-12d3-a456-426614174000"
}

Get all roles on the system

Retrieve all roles that can be assigned to a user on the system.

Responses

Custom Plugin Operations

Trigger custom plugin operations.

handlePluginRequest Deprecated

path Parameters
workspaceId
required
string <uuid>
pluginId
required
string
methodName
required
string
Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
"string"

Browsing

Retrieve workspaces, packages and MLMs by their relation to each other, in form of a tree structure.

Get the object forest of all workspaces

query Parameters
include
Array of strings
Items Enum: "package" "mlm" "workspace"

Object types to include, comma-separated (workspace, package, mlm)

depth
integer <int32>
Default: -1

How deep the tree should be resolved. Negative values for infinite.

Responses

Get the object tree originating at a workspace with the given identifier

path Parameters
workspaceUuid
required
string <uuid>
query Parameters
include
Array of strings
Items Enum: "package" "mlm" "workspace"

Object types to include, comma-separated (workspace, package, mlm)

depth
integer <int32>
Default: -1

How deep the tree should be resolved. Negative values for infinite.

Responses

Get the object tree originating at a package with the given identifier

path Parameters
packageUuid
required
string <uuid>
query Parameters
include
Array of strings
Items Enum: "package" "mlm" "workspace"

Object types to include, comma-separated (workspace, package, mlm)

depth
integer <int32>
Default: -1

How deep the tree should be resolved. Negative values for infinite.

Responses

LLM

Serves an OpenAPI-compatible interface for chatting with MLMs and manually triggering tool calls when MCP is not an option.

Execute tool

Execute an MLM as tool, as may be requested by an LLM. Mainly used for debugging.

path Parameters
workspaceUuid
required
string <uuid>
pluginUuid
required
string <uuid>
Request Body schema: application/json
required
name
string
arguments
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "arguments": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Chat completion

Request a chat completion from the LLM configured in the plugin, with tools auto-configured. It is compatible with the OpenAI completions API and automatically fills in the tools.

path Parameters
workspaceUuid
required
string <uuid>
pluginUuid
required
string <uuid>
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Backup

Import/Export features for important resources

Import a backup

Request Body schema: application/json
required
object (BackupDto)
object

Responses

Request samples

Content type
application/json
{
  • "backupFile": {
    },
  • "resourceMappings": {
    }
}

Export specified resources or resource types

Request Body schema: application/json
required
Array of objects (OwnedEntityDto)
include
Array of strings
Items Enum: "WORKSPACE" "PACKAGE" "MLM" "PLUGIN_CONFIGURATION"

Responses

Request samples

Content type
application/json
{
  • "resources": [
    ],
  • "include": [
    ]
}

Validation

Independently validate medical logic module source code for syntax errors

Validate MLM source code

Request Body schema: application/json
required
sourceCode
required
string
workspaceUuid
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "sourceCode": "string",
  • "workspaceUuid": "440374de-d1f6-4e58-8880-bb86654d7756"
}

Debugging

Create, read, update and delete debug configurations

Create debug configuration for a mlm

Request Body schema: application/json
required
name
required
string

Name of the debug configuration

mlmUuid
required
string <uuid>

mlm that is associated with this debug configuration

Array of ArdenBooleanDto (object) or ArdenDateTimeDto (object) or ArdenDayOfWeekDto (object) or ArdenDurationDto (object) or ArdenFuzzyDurationDto (object) or ArdenFuzzyNumberDto (object) or ArdenFuzzyTimeDto (object) or ArdenListDto (object) or ArdenNullDto (object) or ArdenNumberDto (object) or ArdenObjectDto (object) or ArdenStringDto (object) or ArdenTimeOfDayDto (object) or ArdenTruthValueDto (object)

optional arguments for the execution

Responses

Request samples

Content type
application/json
{
  • "name": "My debug configuration",
  • "mlmUuid": "499f016e-e9dd-49e2-8b97-f82a18993bca",
  • "arguments": [
    ]
}

Get the debug configuration with the given identifier

path Parameters
uuid
required
string <uuid>

Responses

Delete debug configuration with given identifier

path Parameters
uuid
required
string <uuid>

Responses

Update properties of the debug configuration with the given identifier

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
name
required
string

Name of the debug configuration

Array of ArdenBooleanDto (object) or ArdenDateTimeDto (object) or ArdenDayOfWeekDto (object) or ArdenDurationDto (object) or ArdenFuzzyDurationDto (object) or ArdenFuzzyNumberDto (object) or ArdenFuzzyTimeDto (object) or ArdenListDto (object) or ArdenNullDto (object) or ArdenNumberDto (object) or ArdenObjectDto (object) or ArdenStringDto (object) or ArdenTimeOfDayDto (object) or ArdenTruthValueDto (object)

optional arguments for the execution

Responses

Request samples

Content type
application/json
{
  • "name": "My debug configuration",
  • "arguments": [
    ]
}

Get all debug configurations of an mlm with the given identifier

path Parameters
uuid
required
string <uuid>

Responses

Licensing

Register and unregister a license with the server

Get the license information.

Responses

Add a license key to the system to validate and activate the license.

query Parameters
key
required
string

Responses

Delete the license from the system.

Responses

Check if license is valid. This operation does not activate the license.

Responses

Get the fingerprint of the current machine for the license activation.

Responses

Workspace

Access workspaces and their packages, plugins and MLMs.

Get plugins in workspace

path Parameters
uuid
required
string <uuid>
query Parameters
plugin-type
string

Optional filter for plugin type

Responses

Create plugin in workspace

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
name
required
string

The name of the plugin configuration

type
required
string

The type of the plugin configuration, as determined by the implementation

required
object

The attributes of the plugin configuration

Responses

Request samples

Content type
application/json
{
  • "name": "database",
  • "type": "JDBC",
  • "attributes": {
    }
}

Create package in workspace

Request Body schema: application/json
required
name
required
string
parentPackageId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parentPackageId": "336ee9a3-c071-4890-aad9-64716c271269"
}

Get MLMs within package

path Parameters
uuid
required
string <uuid>

Responses

Upload MLM to package

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
content
required
string

The content of the source code

encoding
required
string

The encoding of the source code

filename
required
string

The filename of the source code

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "encoding": "UTF-8",
  • "filename": "my-mlm.mlm"
}

Get source of MLM

path Parameters
uuid
required
string <uuid>

Responses

Update MLM

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
content
required
string

The content of the source code

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Get all or search for workspaces

query Parameters
search
string
Default: ""

Search term for the workspaces name

Responses

Create a new workspace

Request Body schema: application/json
required
name
required
string

Name of the workspace

parentWorkspaceId
string <uuid>

Parent workspace of the workspace

Responses

Request samples

Content type
application/json
{
  • "name": "My Workspace",
  • "parentWorkspaceId": "90830bc9-1bee-4648-a3e1-efa6a46f87f8"
}

Set plugin as default for the workspace and its type

path Parameters
workspaceUuid
required
string <uuid>
pluginUuid
required
string <uuid>

Responses

Set plugin as default for the workspace

path Parameters
workspaceUuid
required
string <uuid>
pluginUuid
required
string <uuid>

Responses

Check plugin health

path Parameters
workspaceUuid
required
string <uuid>
pluginUuid
required
string <uuid>

Responses

Move a workspace to a different parent workspace.

path Parameters
uuid
required
string <uuid>
parentUuid
required
string <uuid>

Responses

Unset the current plugin for a given type and workspace

path Parameters
id
required
string <uuid>
type
required
string

Responses

Unset default plugin for the workspace

path Parameters
id
required
string <uuid>

Responses

Move package within workspace

Move the package with the given identifier to the parent package with the given identifier. If the parent package identifier is null, the package will be moved to the root of the workspace. If the package is already at the root of the workspace, the operation will fail.

path Parameters
uuid
required
string <uuid>
parentUuid
required
string <uuid>

Responses

Move MLM

Move the MLM with the given identifier to the package with the given identifier. If the package identifier is null, the MLM will be moved to the root of the workspace. If the MLM is already at the root of the workspace, the operation will fail.

path Parameters
mlmUuid
required
string <uuid>
parentPackageUuId
required
string <uuid>

Responses

Get the workspace with the given identifier

path Parameters
uuid
required
string <uuid>

Responses

Delete workspace with given identifier

path Parameters
uuid
required
string <uuid>

Responses

Update properties of the workspace with the given identifier

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
name
string

Name of the workspace

Responses

Request samples

Content type
application/json
{
  • "name": "My Workspace"
}

Get plugin by identifier

path Parameters
uuid
required
string <uuid>

Responses

Delete plugin by identifier

path Parameters
uuid
required
string <uuid>

Responses

Update plugin by identifier

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
name
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "attributes": {
    }
}

Get packages in workspace

path Parameters
uuid
required
string <uuid>

Responses

Delete package by identifier

path Parameters
uuid
required
string <uuid>

Responses

Update package by name

This operation only permits updating the name of the package. To move the package, use the move operation.

path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Get MLM information

path Parameters
uuid
required
string <uuid>

Responses

Delete MLM by identifier

path Parameters
uuid
required
string <uuid>
query Parameters
permanent
boolean
Default: false

Responses