JSON-RPC Methods

All JSON-RPC methods are available at the following endpoint.

POST https://windautomat.windreserve.de/json-rpc

Contents

application

createApplication

DTO Schema

{
    "$ref": "#/definitions/applicationCreateDTOSchema",
    "definitions": {
        "applicationCreateDTOSchema": {
            "type": "object",
            "properties": {
                "name": { "type": "string", "maxLength": 80 },
                "version_available": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "config_table": { "type": "string" },
                "includes_os_upgrade": { "type": "boolean", "default": false },
                "module_name": { "type": "string", "maxLength": 128 }
            },
            "required": ["name", "version_available", "config_table", "module_name"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "createApplication",
    "params": {
        "name": "tactical-rmm",
        "version_available": "v0.18.3",
        "config_table": "config_tactical_rmm",
        "module_name": "tacticalRmm"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "198be6e8-8dd3-4b15-b755-8f7aff1cef3e",
        "name": "tactical-rmm",
        "version_available": "v0.18.3",
        "config_table": "config_tactical_rmm",
        "includes_os_upgrade": false,
        "module_name": "tacticalRmm"
    }
}

deleteApplication

DTO Schema

{
    "$ref": "#/definitions/applicationDeleteDTOSchema",
    "definitions": {
        "applicationDeleteDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "deleteApplication",
    "params": { "id": "3a6e63d0-eb11-4963-9eb5-5e3045698b31" },
    "id": 17
}

Results

{ "jsonrpc": "2.0", "id": 17, "result": null }

getApplication

DTO Schema

{
    "$ref": "#/definitions/applicationGetOneDTOSchema",
    "definitions": {
        "applicationGetOneDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getApplication",
    "params": { "id": "88a4bc01-9cb6-4001-a07c-b842657e6f81" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "name": "tactical-rmm",
        "version_available": "v0.18.2",
        "config_table": "config_tactical_rmm",
        "includes_os_upgrade": false,
        "module_name": "tacticalRmm"
    }
}

getApplications

DTO Schema

{
    "$ref": "#/definitions/applicationGetManyDTOSchema",
    "definitions": {
        "applicationGetManyDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "name": { "type": "string", "maxLength": 80 },
                "version_available": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "config_table": { "type": "string" },
                "includes_os_upgrade": { "type": "boolean", "default": false },
                "module_name": { "type": "string", "maxLength": 128 }
            },
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getApplications",
    "params": { "id": "88a4bc01-9cb6-4001-a07c-b842657e6f81" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": [
        {
            "id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
            "name": "tactical-rmm",
            "version_available": "v0.18.2",
            "config_table": "config_tactical_rmm",
            "includes_os_upgrade": false,
            "module_name": "tacticalRmm"
        }
    ]
}

updateApplication

DTO Schema

{
    "$ref": "#/definitions/applicationUpdateDTOSchema",
    "definitions": {
        "applicationUpdateDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "name": { "type": "string", "maxLength": 80 },
                "version_available": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "config_table": { "type": "string" },
                "includes_os_upgrade": { "type": "boolean", "default": false },
                "module_name": { "type": "string", "maxLength": 128 }
            },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "updateApplication",
    "params": {
        "id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "version_available": "v0.19.0"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "name": "tactical-rmm",
        "version_available": "v0.19.0",
        "config_table": "config_tactical_rmm",
        "includes_os_upgrade": false,
        "module_name": "tacticalRmm"
    }
}

config

getConfig

DTO Schema

undefined

Example

undefined

Results

undefined

createConfig

DTO Schema

undefined

Example

undefined

Results

undefined

deployment

createDeployment

DTO Schema

{
    "$ref": "#/definitions/deploymentCreateDTOSchema",
    "definitions": {
        "deploymentCreateDTOSchema": {
            "type": "object",
            "properties": {
                "application_id": { "type": "string", "format": "uuid" },
                "version_installed": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "auto_update": { "type": "boolean", "default": false },
                "machine_id": { "type": "string", "format": "uuid" },
                "application_update_available": { "type": "boolean", "default": false }
            },
            "required": ["application_id", "version_installed", "machine_id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "createDeployment",
    "params": {
        "application_id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "version_installed": "v0.18.1",
        "auto_update": false,
        "machine_id": "359d887e-40a7-43c0-8ef2-5db9438645b8"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "198be6e8-8dd3-4b15-b755-8f7aff1cef3e",
        "application_id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "version_installed": "v0.18.1",
        "auto_update": false,
        "machine_id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
        "application_update_available": false
    }
}

deleteDeployment

DTO Schema

{
    "$ref": "#/definitions/deploymentDeleteDTOSchema",
    "definitions": {
        "deploymentDeleteDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "deleteDeployment",
    "params": { "id": "f4d98b10-df8e-4ea3-8ec5-f1347f6ecf26" },
    "id": 17
}

Results

{ "jsonrpc": "2.0", "id": 17, "result": null }

getDeployment

DTO Schema

{
    "$ref": "#/definitions/deploymentGetOneDTOSchema",
    "definitions": {
        "deploymentGetOneDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getDeployment",
    "params": { "id": "4e3eb917-00d0-4bac-b410-066e4de9d8de" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "4e3eb917-00d0-4bac-b410-066e4de9d8de",
        "application_id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "version_installed": "v0.18.0",
        "auto_update": false,
        "machine_id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
        "application_update_available": true
    }
}

getDeployments

DTO Schema

{
    "$ref": "#/definitions/deploymentGetManyDTOSchema",
    "definitions": {
        "deploymentGetManyDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "application_id": { "type": "string", "format": "uuid" },
                "version_installed": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "auto_update": { "type": "boolean", "default": false },
                "machine_id": { "type": "string", "format": "uuid" },
                "application_update_available": { "type": "boolean", "default": false }
            },
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getDeployments",
    "params": { "id": "4e3eb917-00d0-4bac-b410-066e4de9d8de" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": [
        {
            "id": "4e3eb917-00d0-4bac-b410-066e4de9d8de",
            "application_id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
            "version_installed": "v0.18.0",
            "auto_update": false,
            "machine_id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
            "application_update_available": true
        }
    ]
}

updateDeployment

DTO Schema

{
    "$ref": "#/definitions/deploymentUpdateDTOSchema",
    "definitions": {
        "deploymentUpdateDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "application_id": { "type": "string", "format": "uuid" },
                "version_installed": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "auto_update": { "type": "boolean", "default": false },
                "machine_id": { "type": "string", "format": "uuid" },
                "application_update_available": { "type": "boolean", "default": false }
            },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "updateDeployment",
    "params": {
        "id": "4e3eb917-00d0-4bac-b410-066e4de9d8de",
        "application_id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "version_installed": "v0.19.1",
        "auto_update": false,
        "machine_id": "359d887e-40a7-43c0-8ef2-5db9438645b8"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "4e3eb917-00d0-4bac-b410-066e4de9d8de",
        "application_id": "88a4bc01-9cb6-4001-a07c-b842657e6f81",
        "version_installed": "v0.19.1",
        "auto_update": false,
        "machine_id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
        "application_update_available": true
    }
}

password

updatePassword

DTO Schema

undefined

Example

undefined

Results

undefined

hypervisor

createHypervisor

DTO Schema

{
    "$ref": "#/definitions/hypervisorCreateDTOSchema",
    "definitions": {
        "hypervisorCreateDTOSchema": {
            "type": "object",
            "properties": {
                "fqdn": {
                    "type": "string",
                    "pattern": "^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$"
                },
                "node_name": { "type": "string", "maxLength": 128 },
                "pve_backup_storage": { "type": "string", "maxLength": 128 },
                "pve_storage_pool": { "type": "string", "maxLength": 128 },
                "pve_token_id": { "type": "string", "maxLength": 64 },
                "pve_secret__bitwarden_secret_id": {
                    "type": "string",
                    "format": "uuid"
                }
            },
            "required": [
                "fqdn",
                "node_name",
                "pve_backup_storage",
                "pve_storage_pool",
                "pve_token_id",
                "pve_secret__bitwarden_secret_id"
            ],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "createHypervisor",
    "params": {
        "fqdn": "192.0.2.10",
        "node_name": "pve",
        "pve_backup_storage": "pbs-01",
        "pve_storage_pool": "hddpool",
        "pve_token_id": "test@pve!test",
        "pve_secret__bitwarden_secret_id": "97f83a3b-efa2-4795-81e1-8ded060a2d40"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "198be6e8-8dd3-4b15-b755-8f7aff1cef3e",
        "fqdn": "192.0.2.10",
        "node_name": "pve",
        "pve_backup_storage": "pbs-01",
        "pve_storage_pool": "hddpool",
        "pve_token_id": "test@pve!test",
        "pve_secret__bitwarden_secret_id": "97f83a3b-efa2-4795-81e1-8ded060a2d40"
    }
}

deleteHypervisor

DTO Schema

{
    "$ref": "#/definitions/hypervisorDeleteDTOSchema",
    "definitions": {
        "hypervisorDeleteDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "deleteHypervisor",
    "params": { "id": "f4f222c0-ca11-4a33-bea8-a1cb995a00f8" },
    "id": 17
}

Results

{ "jsonrpc": "2.0", "id": 17, "result": null }

getHypervisor

DTO Schema

{
    "$ref": "#/definitions/hypervisorGetOneDTOSchema",
    "definitions": {
        "hypervisorGetOneDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getHypervisor",
    "params": { "id": "49834f47-fc60-4f92-b290-a920fecb43e1" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "49834f47-fc60-4f92-b290-a920fecb43e1",
        "fqdn": "10.25.0.24",
        "node_name": "pve-a",
        "pve_backup_storage": "PBS-oer",
        "pve_storage_pool": "hddpool",
        "pve_token_id": "windautomat_test@pve!windautomat_test",
        "pve_secret__bitwarden_secret_id": "c9eccbaf-7575-45f2-8eb1-b1a000a319bf"
    }
}

getHypervisors

DTO Schema

{
    "$ref": "#/definitions/hypervisorGetManyDTOSchema",
    "definitions": {
        "hypervisorGetManyDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "fqdn": {
                    "type": "string",
                    "pattern": "^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$"
                },
                "node_name": { "type": "string", "maxLength": 128 },
                "pve_backup_storage": { "type": "string", "maxLength": 128 },
                "pve_storage_pool": { "type": "string", "maxLength": 128 },
                "pve_token_id": { "type": "string", "maxLength": 64 },
                "pve_secret__bitwarden_secret_id": {
                    "type": "string",
                    "format": "uuid"
                }
            },
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getHypervisors",
    "params": { "id": "49834f47-fc60-4f92-b290-a920fecb43e1" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": [
        {
            "id": "49834f47-fc60-4f92-b290-a920fecb43e1",
            "fqdn": "10.25.0.24",
            "node_name": "pve-a",
            "pve_backup_storage": "PBS-oer",
            "pve_storage_pool": "hddpool",
            "pve_token_id": "windautomat_test@pve!windautomat_test",
            "pve_secret__bitwarden_secret_id": "c9eccbaf-7575-45f2-8eb1-b1a000a319bf"
        }
    ]
}

updateHypervisor

DTO Schema

{
    "$ref": "#/definitions/hypervisorUpdateDTOSchema",
    "definitions": {
        "hypervisorUpdateDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "fqdn": {
                    "type": "string",
                    "pattern": "^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$"
                },
                "node_name": { "type": "string", "maxLength": 128 },
                "pve_backup_storage": { "type": "string", "maxLength": 128 },
                "pve_storage_pool": { "type": "string", "maxLength": 128 },
                "pve_token_id": { "type": "string", "maxLength": 64 },
                "pve_secret__bitwarden_secret_id": {
                    "type": "string",
                    "format": "uuid"
                }
            },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "updateHypervisor",
    "params": {
        "id": "49834f47-fc60-4f92-b290-a920fecb43e1",
        "node_name": "pve-test134"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "49834f47-fc60-4f92-b290-a920fecb43e1",
        "fqdn": "10.25.0.24",
        "node_name": "pve-test134",
        "pve_backup_storage": "PBS-oer",
        "pve_storage_pool": "hddpool",
        "pve_token_id": "windautomat_test@pve!windautomat_test",
        "pve_secret__bitwarden_secret_id": "c9eccbaf-7575-45f2-8eb1-b1a000a319bf"
    }
}

machine

createMachine

DTO Schema

{
    "$ref": "#/definitions/machineCreateDTOSchema",
    "definitions": {
        "machineCreateDTOSchema": {
            "type": "object",
            "properties": {
                "type": { "type": "string", "enum": ["baremetal", "virtual"] },
                "operating_system_id": { "type": "string", "format": "uuid" },
                "fqdn": {
                    "type": "string",
                    "pattern": "^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$"
                },
                "vm_id": { "type": "integer", "exclusiveMinimum": 0 },
                "hypervisor_id": { "type": "string", "format": "uuid" },
                "operating_system_update_available": {
                    "type": "boolean",
                    "default": false
                },
                "ssh_private_key__bitwarden_secret_id": {
                    "type": "string",
                    "format": "uuid"
                }
            },
            "required": ["type", "operating_system_id", "fqdn", "ssh_private_key__bitwarden_secret_id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "createMachine",
    "params": {
        "type": "baremetal",
        "operating_system_id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "fqdn": "bare.metal.test.com",
        "ssh_private_key__bitwarden_secret_id": "423e273d-91b2-4181-bea5-e9a7eb55eefa"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "198be6e8-8dd3-4b15-b755-8f7aff1cef3e",
        "type": "baremetal",
        "operating_system_id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "fqdn": "bare.metal.test.com",
        "ssh_private_key__bitwarden_secret_id": "423e273d-91b2-4181-bea5-e9a7eb55eefa",
        "operating_system_update_available": false
    }
}

deleteMachine

DTO Schema

{
    "$ref": "#/definitions/machineDeleteDTOSchema",
    "definitions": {
        "machineDeleteDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "deleteMachine",
    "params": { "id": "c91c058b-6dd5-4a79-bf68-95a84b337a2d" },
    "id": 17
}

Results

{ "jsonrpc": "2.0", "id": 17, "result": null }

getMachine

DTO Schema

{
    "$ref": "#/definitions/machineGetOneDTOSchema",
    "definitions": {
        "machineGetOneDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getMachine",
    "params": { "id": "359d887e-40a7-43c0-8ef2-5db9438645b8" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
        "type": "virtual",
        "operating_system_id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "fqdn": "10.25.77.10",
        "ssh_private_key__bitwarden_secret_id": "f0ea26f1-e5d5-42ee-9c20-b1a000b56015",
        "operating_system_update_available": false,
        "hypervisor_id": "49834f47-fc60-4f92-b290-a920fecb43e1",
        "vm_id": 600
    }
}

getMachines

DTO Schema

{
    "$ref": "#/definitions/machineGetManyDTOSchema",
    "definitions": {
        "machineGetManyDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "type": { "type": "string", "enum": ["baremetal", "virtual"] },
                "operating_system_id": { "type": "string", "format": "uuid" },
                "fqdn": {
                    "type": "string",
                    "pattern": "^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$"
                },
                "vm_id": { "type": "integer", "exclusiveMinimum": 0 },
                "hypervisor_id": { "type": "string", "format": "uuid" },
                "operating_system_update_available": {
                    "type": "boolean",
                    "default": false
                },
                "ssh_private_key__bitwarden_secret_id": {
                    "type": "string",
                    "format": "uuid"
                }
            },
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getMachines",
    "params": { "id": "359d887e-40a7-43c0-8ef2-5db9438645b8" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": [
        {
            "id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
            "type": "virtual",
            "operating_system_id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
            "fqdn": "10.25.77.10",
            "ssh_private_key__bitwarden_secret_id": "f0ea26f1-e5d5-42ee-9c20-b1a000b56015",
            "operating_system_update_available": false,
            "hypervisor_id": "49834f47-fc60-4f92-b290-a920fecb43e1",
            "vm_id": 600
        }
    ]
}

updateMachine

DTO Schema

{
    "$ref": "#/definitions/machineUpdateDTOSchema",
    "definitions": {
        "machineUpdateDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "type": { "type": "string", "enum": ["baremetal", "virtual"] },
                "operating_system_id": { "type": "string", "format": "uuid" },
                "fqdn": {
                    "type": "string",
                    "pattern": "^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$"
                },
                "vm_id": { "type": "integer", "exclusiveMinimum": 0 },
                "hypervisor_id": { "type": "string", "format": "uuid" },
                "operating_system_update_available": {
                    "type": "boolean",
                    "default": false
                },
                "ssh_private_key__bitwarden_secret_id": {
                    "type": "string",
                    "format": "uuid"
                }
            },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "updateMachine",
    "params": {
        "id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
        "fqdn": "10.25.77.11"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "359d887e-40a7-43c0-8ef2-5db9438645b8",
        "type": "virtual",
        "operating_system_id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "fqdn": "10.25.77.11",
        "ssh_private_key__bitwarden_secret_id": "f0ea26f1-e5d5-42ee-9c20-b1a000b56015",
        "operating_system_update_available": false,
        "hypervisor_id": "49834f47-fc60-4f92-b290-a920fecb43e1",
        "vm_id": 600
    }
}

operatingSystem

createOperatingSystem

DTO Schema

{
    "$ref": "#/definitions/operatingSystemCreateDTOSchema",
    "definitions": {
        "operatingSystemCreateDTOSchema": {
            "type": "object",
            "properties": {
                "name": { "type": "string", "maxLength": 36 },
                "version_available": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "module_name": { "type": "string", "maxLength": 128 }
            },
            "required": ["name", "version_available", "module_name"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "createOperatingSystem",
    "params": {
        "name": "arch",
        "version_available": "v2024.06.01",
        "module_name": "arch"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "198be6e8-8dd3-4b15-b755-8f7aff1cef3e",
        "name": "arch",
        "version_available": "v2024.06.01",
        "module_name": "arch"
    }
}

deleteOperatingSystem

DTO Schema

{
    "$ref": "#/definitions/operatingSystemDeleteDTOSchema",
    "definitions": {
        "operatingSystemDeleteDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "deleteOperatingSystem",
    "params": { "id": "b5e123ed-86bb-4802-9cc5-3b8c38d52ea5" },
    "id": 17
}

Results

{ "jsonrpc": "2.0", "id": 17, "result": null }

getOperatingSystem

DTO Schema

{
    "$ref": "#/definitions/operatingSystemGetOneDTOSchema",
    "definitions": {
        "operatingSystemGetOneDTOSchema": {
            "type": "object",
            "properties": { "id": { "type": "string", "format": "uuid" } },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getOperatingSystem",
    "params": { "id": "d6053b87-ca8d-4604-8b17-712bc4c88fac" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "name": "debian-12",
        "version_available": "v12.6.0",
        "module_name": "debian"
    }
}

getOperatingSystems

DTO Schema

{
    "$ref": "#/definitions/operatingSystemGetManyDTOSchema",
    "definitions": {
        "operatingSystemGetManyDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "name": { "type": "string", "maxLength": 36 },
                "version_available": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "module_name": { "type": "string", "maxLength": 128 }
            },
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "getOperatingSystems",
    "params": { "id": "d6053b87-ca8d-4604-8b17-712bc4c88fac" },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": [
        {
            "id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
            "name": "debian-12",
            "version_available": "v12.6.0",
            "module_name": "debian"
        }
    ]
}

updateOperatingSystem

DTO Schema

{
    "$ref": "#/definitions/operatingSystemUpdateDTOSchema",
    "definitions": {
        "operatingSystemUpdateDTOSchema": {
            "type": "object",
            "properties": {
                "id": { "type": "string", "format": "uuid" },
                "name": { "type": "string", "maxLength": 36 },
                "version_available": {
                    "type": "string",
                    "pattern": "^v\\d+\\.\\d+\\.\\d+"
                },
                "module_name": { "type": "string", "maxLength": 128 }
            },
            "required": ["id"],
            "additionalProperties": false
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}

Example

{
    "jsonrpc": "2.0",
    "method": "updateOperatingSystem",
    "params": {
        "id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "version_available": "v12.7.0"
    },
    "id": 17
}

Results

{
    "jsonrpc": "2.0",
    "id": 17,
    "result": {
        "id": "d6053b87-ca8d-4604-8b17-712bc4c88fac",
        "name": "debian-12",
        "version_available": "v12.7.0",
        "module_name": "debian"
    }
}

task

getTasks

DTO Schema

undefined

Example

undefined

Results

undefined