REST API

Примечание

Для получения доступа к API нужно отправить следующие заголовки:

  • --header 'Ipaddr: ipaddr'

  • --header 'Domain: domain'

  • --header 'User: user'

  • --header 'Password: password'


RemoteApp API

Информация о модуле.

Подробная информация о модуле.

GET
/api/
Получение подробной информации о модуле.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api'
Ответ
Параметры ответа:

Name

In

Type

Description

version

body

object

Версия модуля.

Пример получения информации о модуле в JSON формате:

{
    "versions": {
        "values": [
            {
                "id": "v1.0",
                "links": [
                    {
                        "href": "/api/v1/",
                        "rel": "self"
                    }
                ],
                "media-types": [
                    {
                        "base": "application/json",
                        "type": "application/accentos-ra-v1+json"
                    }
                ],
                "status": "stable",
                "updated": "2021-08-19T00:00:00Z"
            }
        ]
    }
}

Приложения (Applications).

Действия над приложениями.

GET
/api/v1/app
Получение приложений.

Получение всех приложений в виде списка словарей.

Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/app'
Ответ
Параметры ответа:

Name

In

Type

Description

desc

body

string

Описание приложения.

ico

body

string

Иконка приложения.

id

body

string

Идентификатор приложения.

name

body

string

Название приложения.

path

body

string

Путь приложения.

pub

body

string

Тип публикации.

type

body

string

Тип приложения.

Пример результата в JSON формате:

[
    {
        "desc": "desc: desc",
        "ico": "skype",
        "id": 1,
        "name": "app: 1",
        "path": "path: /etc/",
        "pub": 1,
        "type": 1
    }
]
POST
/api/v1/app
Создание приложений.
Запрос
Параметры запроса:

Name

In

Type

Description

desc

body

string

Описание приложения.

ico

body

string

Иконка приложения.

name

body

string

Название приложения.

path

body

string

Путь приложения.

pub

body

string

Тип публикации.

type

body

string

Тип приложения.

Пример запроса:
curl --location --request POST 'http://localhost:8001/api/v1/app' --data-raw '{"desc": "desc: desc", "ico": "skype", "name": "app: 1", "path": "path: /etc/", "pub": 1, "type": 1}'
Ответ
Параметры ответа:

Name

In

Type

Description

desc

body

string

Описание приложения.

ico

body

string

Иконка приложения.

name

body

string

Название приложения.

path

body

string

Путь приложения.

pub

body

string

Тип публикации.

type

body

string

Тип приложения.

Пример результата в JSON формате:

{
    "desc": "desc: desc",
    "ico": "skype",
    "id": 4,
    "name": "app: 1",
    "path": "path: /etc/",
    "pub": 1,
    "type": 1
}
GET
/api/v1/{api_id}
Получение приложений по ID.
Запрос
Параметры запроса:

Name

In

Type

Description

id

body

string

Идентификатор приложения.

Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/app/1' --data-raw ''
Ответ
Параметры ответа:

Name

In

Type

Description

desc

body

string

Описание приложения.

ico

body

string

Иконка приложения.

name

body

string

Название приложения.

path

body

string

Путь приложения.

pub

body

string

Тип публикации.

type

body

string

Тип приложения.

Пример результата в JSON формате:

{
    "desc": "desc: desc",
    "ico": "skype",
    "id": 1,
    "name": "app: 1",
    "path": "path: /etc/",
    "pub": 1,
    "type": 1
}
PATCH
/api/v1/app/{app_id}
Обновление приложений.
Запрос
Параметры запроса:

Name

In

Type

Description

desc (Optional)

body

string

Описание приложения.

id

body

string

Идентификатор приложения.

ico (Optional)

body

string

Иконка приложения.

name (Optional)

body

string

Название приложения.

path (Optional)

body

string

Путь приложения.

pub (Optional)

body

string

Тип публикации.

type (Optional)

body

string

Тип приложения.

Пример запроса:
curl --location --request PATCH 'http://localhost:8001/api/v1/app/1' --data-raw '{"desc": "desc: desc", "ico": "skype", "id": 1, "name": "app: 1. Patched", "path": "path: /etc/", "pub": 1, "type": 1}'
Ответ
Параметры ответа:

Name

In

Type

Description

desc

body

string

Описание приложения.

ico

body

string

Иконка приложения.

name

body

string

Название приложения.

path

body

string

Путь приложения.

pub

body

string

Тип публикации.

type

body

string

Тип приложения.

Пример результата в JSON формате:

{
    "desc": "desc: desc",
    "ico": "skype",
    "id": 1,
    "name": "app: 1",
    "path": "path: /etc/",
    "pub": 1,
    "type": 1
}
DELETE
/api/v1/app/{app_id}
Удаление приложений.
Запрос
Параметры запроса:

Name

In

Type

Description

id

body

string

Идентификатор приложения.

Пример запроса:
curl --location --request DELETE 'http://localhost:8001/api/v1/app/1' \ --data-raw ''

Эта операция не имеет содержания ответа.

Виртуальные машины.

Действия с виртуальными машинами.

GET
/api/v1/vm
Получение списка виртуальных машин, связанных с приложениями.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/vm' \ --data-raw ''
Ответ
Параметры ответа:

Name

In

Type

Description

vm_app_id

body

string

Идентификатор приложения.

vm_id

body

string

Идентификатор виртуальной машины.

vm_uid

body

string

UID виртуальной машины.

Пример результата в JSON формате:

[
    {
        "app_id": 1,
        "id": 1,
        "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
    },
    {
        "app_id": 2,
        "id": 2,
        "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
    },
]
GET
/api/v1/vm/{vm_id}
Получение приложения, связанного с виртуальной машиной по ID.
Запрос
Параметры запроса:

Name

In

Type

Description

vm_id

body

string

Идентификатор виртуальной машины.

Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/vm/1' --data-raw ''
Ответ
Параметры ответа:

Name

In

Type

Description

vm_app_id

body

string

Идентификатор приложения.

vm_id

body

string

Идентификатор виртуальной машины.

vm_uid

body

string

UID виртуальной машины.

Пример результата в JSON формате:

{
    "app_id": 1,
    "id": 1,
    "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
}
POST
/api/v1/vm/
Создание связи между приложением и виртуальной машиной.
Запрос
Параметры запроса:

Name

In

Type

Description

vm_app_id

body

string

Идентификатор приложения.

vm_uid

body

string

UID виртуальной машины.

Пример запроса:
curl --location --request POST 'http://localhost:8001/api/v1/vm' \--data-raw '{"app_id": 1,"uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"}'
Ответ
Параметры ответа:

Name

In

Type

Description

vm_app_id

body

string

Идентификатор приложения.

vm_uid

body

string

UID виртуальной машины.

vm_id

body

string

Идентификатор виртуальной машины.

Пример результата в JSON формате:

{
    "app_id": 1,
    "id": 8,
    "uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"
}
DELETE
/v1/node-classes/{vm_id}
Удаление связи между приложением и виртуальной машиной.
Запрос
Параметры запроса:

Name

In

Type

Description

vm_id

body

string

Идентификатор виртуальной машины.

Пример запроса:
curl --location --request DELETE 'http://localhost:8001/api/v1/vm' --data-raw '{"app_id": 1,"uid": "078972de-4fd1-4cdc-bdd6-43a3d0633a45"}'

Эта операция не имеет содержания ответа.

Шаблоны.

Действия с шаблонами.

GET
/api/v1/type
Получение списка шаблонов.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/type' --data-raw ''
Ответ
Параметры ответа:

Name

In

Type

Description

ext

body

string

Ext.

template_id

body

string

Идентификатор шаблона.

os_type

body

string

Тип операционной системы.

template

body

string

Шаблон.

template_type

body

string

Тип шаблона.

Пример результата в JSON формате:

[
    {
        "ext": "rdp",
        "id": 1,
        "os_type": "appv",
        "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
        "type": "mstsc"
    }
]
GET
/api/v1/type/{template_id}
Получение шаблона по ID.
Запрос
Пример запроса:
curl --location --request GET 'http://localhost:8001/api/v1/type/2' --data-raw '{
 "ext": "rdp: Patch",
 "os_type": "appv",
 "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
 "type": "mstsc"}'
Ответ
Параметры ответа:

Name

In

Type

Description

ext

body

string

Ext.

template_id

body

string

Идентификатор шаблона.

os_type

body

string

Тип операционной системы.

template

body

string

Шаблон.

template_type

body

string

Тип шаблона.

Пример результата в JSON формате:

{
    "ext": "rdp",
    "id": 2,
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"
}
POST
/api/v1/type
Создание шаблона.
Запрос

Name

In

Type

Description

ext

body

string

Ext.

os_type

body

string

Тип операционной системы.

template

body

string

Шаблон.

template_type

body

string

Тип шаблона.

Пример запроса:
curl --location --request POST 'http://localhost:8001/api/v1/type' --data-raw '{
    "ext": "rdp: Patch",
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"}'
Ответ
Параметры ответа:

Name

In

Type

Description

ext

body

string

Ext.

template_id

body

string

Идентификатор шаблона.

os_type

body

string

Тип операционной системы.

template

body

string

Шаблон.

template_type

body

string

Тип шаблона.

Пример результата в JSON формате:

{
    "ext": "rdp: Patch",
    "id": 3,
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"
}
PATCH
/api/v1/type
Обновление шаблона.
Запрос
Пример запроса:
curl --location --request PATCH 'http://localhost:8001/api/v1/type/1' --data-raw '{
    "ext": "rdp: PatchToPatch",
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"}'
Ответ
Параметры ответа:

Name

In

Type

Description

ext

body

string

Ext.

template_id

body

string

Идентификатор шаблона.

os_type

body

string

Тип операционной системы.

template

body

string

Шаблон.

template_type

body

string

Тип шаблона.

Пример результата в JSON формате:

{
    "ext": "rdp: PatchToPatch",
    "os_type": "appv",
    "template": "allow desktop composition:i:1\nallow font smoothing:i:1\nalternate shell:s:rdpinit.exe\ndisableremoteappcapscheck:i:1\nprompt for credentials on client:i:1\npromptcredentialonce:i:0\nredirectcomports:i:1\nredirectdrives:i:1\nremoteapplicationmode:i:1\nremoteapplicationname:s:{name}\nremoteapplicationprogram:s:||{desc}\nspan monitors:i:1\ndomain:s:\nuse multimon:i:1\nusbdevicestoredirect:s:\ndevicestoredirect:s:*\ndrivestoredirect:s:*\nfull address:s:{ip}:3389\nalternate full address:s:{ip}:3389\n",
    "type": "mstsc"
}
DELETE
/api/v1/type/{template_id}
Удаление шаблона.
Запрос
Параметры запроса:

Name

In

Type

Description

template_id

body

string

Идентификатор шаблона.

Пример запроса:
curl --location --request DELETE 'http://localhost:8001/api/v1/type/2' --data-raw ''

Эта операция не имеет содержания ответа.

Подробное описание кодов ответа на запросы доступно во вкладке с дополнительной информацией.