{ "swagger": "2.0", "info": { "title": "AuthManager 6 API", "description": "AuthManager 6 API", "version": "1.0.0" }, "host": "localhost:1501", "basePath": "/v3", "schemes": [ "http" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ { "name": "Service", "description": "Работа с услугами" } ], "paths": { "/admin": { "post": { "tags": [ "admin" ], "description": "Регистрация администратора в сервисе авторизации", "operationId": "admin_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/AdminPostParams" } } ], "responses": { "200": { "description": "Администратор успешно зарегистрирован", "schema": { "$ref": "#/definitions/SuccessTaskSchema" } }, "default": { "description": "Ошибка регистрации администратора", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/token/{token}/change_password": { "post": { "tags": [ "token" ], "description": "Смена пароля через токен", "operationId": "token_id_change_password_post", "parameters": [ { "name": "token", "in": "path", "description": "Токен, по которому будет изменен пароль", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/TokenIdChangePasswordPostParam" } } ], "responses": { "200": { "description": "Смена пароля через токен прошла успешна", "schema": { "$ref": "#/definitions/TokenIdChangePasswordSchema" } }, "default": { "description": "Ошибка смены пароля через токен", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/token/{token}/email_confirm": { "post": { "tags": [ "token" ], "description": "Подтверждение почты через токен", "operationId": "token_id_email_confirm_post", "parameters": [ { "name": "token", "in": "path", "description": "Токен, по которому будет подтверждена почта", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Почта успешно подтверждена", "schema": { "$ref": "#/definitions/TokenIdEmailConfirmSchema" } }, "default": { "description": "Ошибка добавления пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/token/{token}/invite_user": { "post": { "tags": [ "token" ], "description": "Активация приглашенного пользователя через токен", "operationId": "token_id_invite_user_post", "parameters": [ { "name": "token", "in": "path", "description": "Токен, по которому будет проверяться доступ", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/TokenIdInviteUserParams" } } ], "responses": { "200": { "description": "Пользователь принял приглашение", "schema": { "$ref": "#/definitions/TokenIdChangePasswordSchema" } }, "default": { "description": "Ошибка активации пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/auth": { "post": { "tags": [ "auth" ], "description": "Авторизация пользователя", "operationId": "auth_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/AuthParams" } } ], "responses": { "200": { "description": "Успешная авторизация", "schema": { "$ref": "#/definitions/Session" } }, "default": { "description": "Ошибка авторизации", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/auth_by_key": { "post": { "tags": [ "auth" ], "description": "Авторизация пользователя по временному ключу", "operationId": "auth_by_key_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/AuthByKeyParams" } } ], "responses": { "200": { "description": "Успешная авторизация", "schema": { "$ref": "#/definitions/Session" } }, "default": { "description": "Ошибка авторизации", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/first_user_invite": { "post": { "tags": [ "auth" ], "description": "Генерация токена для первого пользователя", "operationId": "first_user_invite_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Токен успешно сгенерирован", "schema": { "$ref": "#/definitions/FirstUserInviteToken" } }, "default": { "description": "Ошибка генерации токена", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/token/{token}/invite_first_user": { "post": { "tags": [ "auth" ], "description": "Регистрация первого пользователя", "operationId": "token_invite_first_user_post", "parameters": [ { "name": "token", "in": "path", "description": "Токен регистрации первого пользователя", "type": "string", "required": true }, { "name": "credentials", "in": "body", "schema": { "$ref": "#/definitions/FirstUserParams" } } ], "responses": { "200": { "description": "Пользователь успешно добавлен", "schema": { "$ref": "#/definitions/Session" } }, "default": { "description": "Ошибка добавления пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/whoami": { "get": { "tags": [ "auth" ], "description": "Получение данных пользователя", "operationId": "whoami_get", "parameters": [ { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, в рамках которого запрашиваются данные о ролях пользователя", "type": "integer" }, { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "isp-session", "in": "header", "description": "Сессия в хэдере", "type": "string" }, { "name": "host", "in": "header", "description": "Инстанс ID в хост в формате instance-id", "type": "string" } ], "responses": { "200": { "description": "Данные пользователя успешно получены", "schema": { "$ref": "#/definitions/WhoamiSchema" } }, "default": { "description": "Ошибка получения данных пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/session/{session}": { "delete": { "tags": [ "auth" ], "description": "Удаление сессии пользователя. Если это последняя активная на инстансе сессия, то после ее удаления будет выполнена остановка инстанса и удален его стек.", "operationId": "session_id_delete", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string", "required": true }, { "name": "session", "in": "path", "description": "Значение сессии, которая будет удалена. Берется по cookie ses6, например 9AD989CAF049", "type": "string", "required": true } ], "responses": { "200": { "description": "Сессия успешно удалена", "schema": { "$ref": "#/definitions/SessionDeleteList" } }, "default": { "description": "Ошибка удаления сессии", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/user": { "get": { "tags": [ "instance" ], "description": "Получение пользователей конкретного инстанса", "operationId": "instance_users_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Список пользователей успешно получен", "schema": { "$ref": "#/definitions/InstanceUsersList" } }, "default": { "description": "Ошибка формирования списка пользователей", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "instance" ], "description": "Переназначение прав для конкретного пользователя инстанса", "operationId": "instance_id_user_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, для которого создается пользователь", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstanceIdUserPost" } } ], "responses": { "200": { "description": "Пользователь успешно добавлен на инстанс", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка добавления пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/user/{user_id}": { "get": { "tags": [ "instance" ], "description": "Получение ролей пользователя по его идентификатору для конкретного инстанса", "operationId": "instance_user_id_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "integer", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор пользователя, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Данные пользователя успешно получены", "schema": { "$ref": "#/definitions/InstanceUserList" } }, "default": { "description": "Ошибка формирования данных о пользователе", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "instance" ], "description": "Удаление роли пользователя по его идентификатору для конкретного инстанса", "operationId": "instance_user_id_delete", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора на данном инстансе", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, на котором роль пользователя будет удалена", "type": "integer", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого роль будет удалена", "type": "string", "required": true } ], "responses": { "200": { "description": "Роль пользователя успешно удалена", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка удаления роли пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/user/{user_id}/resume": { "post": { "tags": [ "instance" ], "description": "Включение роли пользователя по его идентификатору для конкретного инстанса", "operationId": "instance_user_id_resume_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора на данном инстансе", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, на котором роль пользователя будет включена", "type": "integer", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого роль будет включена", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Роль пользователя успешно включена", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка включения роли пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/user/{user_id}/suspend": { "post": { "tags": [ "instance" ], "description": "Выключение роли пользователя по его идентификатору для конкретного инстанса", "operationId": "instance_user_id_suspend_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора на данном инстансе", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, на котором роль пользователя будет выключена", "type": "integer", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого роль будет выключена", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Роль пользователя успешно выключена", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка выключения роли пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/check_connection": { "post": { "tags": [ "instance" ], "description": "Проверка возможности доступа к серверу с использованием пароля или ключа пользователя", "operationId": "instance_check_connection_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/CheckConnectionPostParams" } } ], "responses": { "200": { "description": "Задача на проверку доступа запущена", "schema": { "$ref": "#/definitions/SuccessTaskSchema" } }, "default": { "description": "Ошибка запуска задачи", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/user/invite": { "post": { "tags": [ "user" ], "description": "Приглашение пользователя", "operationId": "invite_user_post", "parameters": [ { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, на котором роль пользователя будет выключена", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InviteUserPostParams" } } ], "responses": { "200": { "description": "Пользователь успешно приглашен", "schema": { "$ref": "#/definitions/SuccessTaskSchema" } }, "default": { "description": "Ошибка приглашения пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_instance/user": { "get": { "tags": [ "instance" ], "description": "Получение пользователей текущего инстанса", "operationId": "current_instance_users_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "string", "required": true } ], "responses": { "200": { "description": "Список пользователей успешно получен", "schema": { "$ref": "#/definitions/InstanceUsersList" } }, "default": { "description": "Ошибка формирования списка пользователей", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "instance" ], "description": "Переназначение прав для конкретного пользователя текущего инстанса", "operationId": "current_instance_id_user_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstanceIdUserPost" } } ], "responses": { "200": { "description": "Пользователь успешно добавлен на инстанс", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка добавления пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_instance/user/{user_id}": { "get": { "tags": [ "instance" ], "description": "Получение ролей пользователя по его идентификатору для текущего инстанса", "operationId": "current_instance_user_id_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "string", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор пользователя, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Данные пользователя успешно получены", "schema": { "$ref": "#/definitions/InstanceUserList" } }, "default": { "description": "Ошибка формирования данных о пользователе", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "instance" ], "description": "Удаление роли пользователя по его идентификатору для текущего инстанса", "operationId": "current_instance_user_id_delete", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора на данном инстансе", "type": "string" }, { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "string", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого роль будет удалена", "type": "string", "required": true } ], "responses": { "200": { "description": "Роль пользователя успешно удалена", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка удаления роли пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_instance/user/{user_id}/resume": { "post": { "tags": [ "instance" ], "description": "Включение роли пользователя по его идентификатору для текущего инстанса", "operationId": "current_instance_user_id_resume_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора на данном инстансе", "type": "string" }, { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "string", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого роль будет включена", "type": "string", "required": true }, { "name": "properties", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Роль пользователя успешно включена", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка включения роли пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_instance/user/{user_id}/suspend": { "post": { "tags": [ "instance" ], "description": "Выключение роли пользователя по его идентификатору для текущего инстанса", "operationId": "current_instance_user_id_suspend_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049. Необходимо, чтобы данная авторизация имела роль администратора на данном инстансе", "type": "string" }, { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "string", "required": true }, { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого роль будет выключена", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Роль пользователя успешно выключена", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка выключения роли пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_instance/user/invite": { "post": { "tags": [ "user" ], "description": "Приглашение пользователя", "operationId": "invite_user_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InviteUserPostParams" } } ], "responses": { "200": { "description": "Пользователь успешно приглашен", "schema": { "$ref": "#/definitions/SuccessTaskSchema" } }, "default": { "description": "Ошибка приглашения пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_user/setting/{name}": { "get": { "tags": [ "currentuser" ], "description": "Получение описания настройки по ее имени для текущего пользователя", "operationId": "current_user_setting_name_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "name", "in": "path", "description": "Имя настройки", "type": "string", "required": true } ], "responses": { "200": { "description": "Описание настройки получено успешно", "schema": { "$ref": "#/definitions/CurrentuserSettingNameSchema" } }, "default": { "description": "Ошибка получения описания настройки", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "currentuser" ], "description": "Редактирование описаний настройки по ее имени для текущего пользователя", "operationId": "current_user_setting_name_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "name", "in": "path", "description": "Имя настройки", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/CurrentuserSettingNamePostParams" } } ], "responses": { "200": { "description": "Описание настройки изменено успешно", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка редактирования описаний настройки", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/current_user/back": { "post": { "tags": [ "currentuser" ], "description": "Возврат на уровень администратора", "operationId": "currentuserback_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Возврат на уровень администратора совершен успешно", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка возврата на уровень администратора", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/support/send_email": { "post": { "tags": [ "support_send_email" ], "description": "Отправка письма в службу технической поддержки", "operationId": "support_send_email_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/SupportSendEmailPostParams" } } ], "responses": { "200": { "description": "Письмо успешно отправлено в службу технической поддержки", "schema": { "$ref": "#/definitions/SupportSendEmailPostSuccessTaskSchema" } }, "default": { "description": "Ошибка отправки письма в службу технической поддержки", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/service/order": { "post": { "tags": [ "Service" ], "description": "Заказ услуги SaaS VM", "operationId": "order", "parameters": [ { "name": "params", "in": "body", "description": "Параметры заказа услуги", "schema": { "$ref": "#/definitions/ServiceOrderParams" } } ], "responses": { "200": { "description": "Запрос успешен", "schema": { "$ref": "#/definitions/ServiceOperation" } }, "default": { "description": "Ошибка при отправке заказа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/service/{service_id}/cancel": { "post": { "tags": [ "Service" ], "description": "Отмена продления подписки", "operationId": "cancel", "parameters": [ { "name": "service_id", "in": "path", "description": "Id услуги", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Запрос успешен", "schema": { "$ref": "#/definitions/ServiceOperation" } }, "default": { "description": "Ошибка при отправке заказа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/service/{service_id}/edit": { "post": { "tags": [ "Service" ], "description": "Редактирование услуги", "operationId": "edit", "parameters": [ { "name": "service_id", "in": "path", "description": "Id услуги", "type": "integer", "required": true }, { "name": "params", "in": "body", "description": "Параметры редактирования услуги", "schema": { "$ref": "#/definitions/ServiceEditParams" } } ], "responses": { "200": { "description": "Запрос успешен", "schema": { "$ref": "#/definitions/PaymentForm" } }, "default": { "description": "Ошибка при отправке заказа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/service/{service_id}/payment": { "get": { "tags": [ "Service" ], "description": "Отмена продления подписки", "operationId": "cancel", "parameters": [ { "name": "service_id", "in": "path", "description": "Id услуги", "type": "integer", "required": true } ], "responses": { "200": { "description": "Запрос успешен", "schema": { "$ref": "#/definitions/ServiceOperation" } }, "default": { "description": "Ошибка при получении данных", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/payment/{service_id}/history": { "get": { "tags": [ "Service" ], "description": "История платежей", "operationId": "payment_history", "parameters": [ { "name": "service_id", "in": "path", "description": "Id услуги", "type": "integer", "required": true } ], "responses": { "200": { "description": "Запрос успешен", "schema": { "$ref": "#/definitions/PaymentHistory" } } } } }, "/user/{user_id}/sshkey": { "get": { "tags": [ "sshkey" ], "description": "Получение всех ssh ключей пользователя", "operationId": "user_user_id_sshkey_get", "parameters": [ { "name": "user_id", "in": "path", "description": "Уникальный идентификатор пользователя", "type": "integer", "required": true } ], "responses": { "200": { "description": "Публичные ssh ключи получены", "schema": { "$ref": "#/definitions/UserSshKeyListResponse" } }, "default": { "description": "Публичные ssh ключи пользователя отсутствуют", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "sshkey" ], "description": "Сохранение ssh ключа", "operationId": "user_user_id_sshkey_post", "parameters": [ { "name": "user_id", "in": "path", "description": "Уникальный идентификатор пользователя", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/UserSshKeyPostParams" } } ], "responses": { "200": { "description": "Публичный ssh ключ успешно сохранён", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка сохранения ключа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/user/{user_id}/sshkey/{key_id}": { "get": { "tags": [ "sshkey" ], "description": "Получение ssh ключа", "operationId": "user_user_id_sshkey_key_id_get", "parameters": [ { "name": "user_id", "in": "path", "description": "Уникальный идентификатор пользователя", "type": "integer", "required": true }, { "name": "key_id", "in": "path", "description": "Уникальный идентификатор публичного ssh ключа пользователя", "type": "integer", "required": true } ], "responses": { "200": { "description": "Публичный ssh ключ получен", "schema": { "$ref": "#/definitions/UserSshKeyGetResponse" } }, "default": { "description": "Ключ не найден", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "sshkey" ], "description": "Редактирование имени ssh ключа", "operationId": "user_user_id_sshkey_key_id_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/UserSshKeyEditPostParams" } }, { "name": "user_id", "in": "path", "description": "Уникальный идентификатор пользователя", "type": "integer", "required": true }, { "name": "key_id", "in": "path", "description": "Уникальный идентификатор публичного ssh ключа пользователя", "type": "integer", "required": true } ], "responses": { "200": { "description": "Имя публичного ssh ключа успешно изменено", "schema": { "$ref": "#/definitions/UserSshKeyEditResponse" } }, "default": { "description": "Ошибка сохранения имени ключа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "sshkey" ], "description": "Удаление публичного ssh ключа пользователя", "operationId": "user_user_id_sshkey_key_id_delete", "parameters": [ { "name": "user_id", "in": "path", "description": "Уникальный идентификатор пользователя", "type": "integer", "required": true }, { "name": "key_id", "in": "path", "description": "Уникальный идентификатор публичного ssh ключа пользователя", "type": "integer", "required": true } ], "responses": { "200": { "description": "Удаление публичного ssh ключа, успешно выполнено", "schema": { "$ref": "#/definitions/Id" } }, "default": { "description": "Ошибка удаления публичного ключа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/product": { "get": { "tags": [ "product" ], "description": "Список продуктов", "operationId": "product_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" } ], "responses": { "200": { "description": "Список продуктов получен успешно", "schema": { "$ref": "#/definitions/ProductUserList" } }, "default": { "description": "Ошибка получения списка продуктов", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "product" ], "description": "Добавить продукт", "operationId": "product_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/ProductPostParams" } } ], "responses": { "200": { "description": "Описание продукта успешно добавлено", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка добавления продукта", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/product/{product_id}": { "get": { "tags": [ "product" ], "description": "Описание по конкретному продукту", "operationId": "product_id_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "product_id", "in": "path", "description": "Идентификатор продукта, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Информация о продукте получена успешно", "schema": { "$ref": "#/definitions/ProductUserSchema" } }, "default": { "description": "Ошибка получения информации о продукте", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "product" ], "description": "Изменить описание по продукту", "operationId": "product_id_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "product_id", "in": "path", "description": "Идентификатор продукта, для которого редактируется описание", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/ProductPostParams" } } ], "responses": { "200": { "description": "Описание продукта успешно обновлено", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка редактирования информации о продукте", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "product" ], "description": "Удаление продукта и всей информации о нем", "operationId": "product_id_delete", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "product_id", "in": "path", "description": "Идентификатор продукта, который удаляется", "type": "integer", "required": true } ], "responses": { "200": { "description": "Удаление продукта прошло успешно", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка удаления продукта", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/change_password": { "post": { "tags": [ "change_password" ], "description": "Изменение пароля", "operationId": "change_password_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/ChangePasswordParams" } } ], "responses": { "200": { "description": "Письмо для изменения пароля успешно отправлено", "schema": { "$ref": "#/definitions/MailPostSchema" } }, "default": { "description": "Ошибка изменения пароля", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/trusteeuser": { "post": { "tags": [ "trusteeuser" ], "description": "Создание доверенного пользователя для конкретного инстанса", "operationId": "trusteeuser_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/TrusteeuserPostParams" } } ], "responses": { "200": { "description": "Доверенный пользователь успешно создан и добавлен на инстанс", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка создания доверенного пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/trusteeuser/{trusteeuser_id}": { "post": { "tags": [ "trusteeuser" ], "description": "Изменение доверенного пользователя", "operationId": "trusteeuser_id_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/TrusteeuserIdPostParams" } }, { "name": "trusteeuser_id", "in": "path", "description": "Идентификатор доверенного пользователя, который будет изменен", "type": "integer", "required": true } ], "responses": { "200": { "description": "Доверенный пользователь успешно изменен", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка изменения доверенного пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "trusteeuser" ], "description": "Удаление доверенного пользователя", "operationId": "trusteeuser_id_delete", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "trusteeuser_id", "in": "path", "description": "Идентификатор доверенного пользователя, который будет удален", "type": "integer", "required": true } ], "responses": { "200": { "description": "Доверенный пользователь успешно удален", "schema": { "$ref": "#/definitions/TrusteeuserIdDeleteSchema" } }, "default": { "description": "Ошибка удаления доверенного пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/user_exist/{email}": { "get": { "tags": [ "user_exist" ], "description": "Проверка на существование пользователя", "operationId": "user_exist_email", "parameters": [ { "name": "email", "in": "path", "description": "Email пользователя, существование которого проверяется", "type": "string", "required": true } ], "responses": { "200": { "description": "Информация о существовании пользователя успешно получена", "schema": { "$ref": "#/definitions/UserExistEmailSchema" } } } } }, "/user": { "get": { "tags": [ "user" ], "description": "Получение списка пользователей, существующих в сервисе авторизации", "operationId": "user_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" } ], "responses": { "200": { "description": "Список пользователей успешно получен", "schema": { "$ref": "#/definitions/UserGetList" } }, "default": { "description": "Ошибка получения списка пользователей", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "user" ], "description": "Регистрация пользователя в сервисе авторизации", "operationId": "user_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/UserPostParams" } } ], "responses": { "200": { "description": "Пользователь успешно зарегистрирован", "schema": { "$ref": "#/definitions/SuccessEmailTaskSchema" } }, "default": { "description": "Ошибка регистрации пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/user/{user_id}": { "get": { "tags": [ "user_id" ], "description": "Получение данных о конкретном пользователе", "operationId": "user_id_get", "parameters": [ { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, данные о котором будут получены", "type": "string", "required": true }, { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" } ], "responses": { "200": { "description": "Данные пользователя получены успешно", "schema": { "$ref": "#/definitions/UserIdGetSchema" } }, "default": { "description": "Ошибка получения данных пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "user_id" ], "description": "Редактирование конкретного пользователя", "operationId": "user_id_post", "parameters": [ { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, данные которого будут отредактированы", "type": "string", "required": true }, { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/UserIdPostParams" } } ], "responses": { "200": { "description": "Данные пользователя успешно отредактированы", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка редактирования данных пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "user_id" ], "description": "Удаление пользователя", "operationId": "user_id_delete", "parameters": [ { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, который будет удален", "type": "string", "required": true }, { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" } ], "responses": { "200": { "description": "Пользователь успешно удален", "schema": { "$ref": "#/definitions/SuccessSchema" } }, "default": { "description": "Ошибка удаления пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/user/{user_id}/su": { "post": { "tags": [ "user_id" ], "description": "Переход под пользователя и создание сессии", "operationId": "user_id_su_post", "parameters": [ { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, под которым будет создана сессия", "type": "string", "required": true }, { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Сессия успешно создана", "schema": { "$ref": "#/definitions/UserIdSuPostSchema" } }, "default": { "description": "Ошибка создания сессии", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/user/{user_id}/key": { "post": { "tags": [ "user_id" ], "description": "Генерация временного ключа для пользователя", "operationId": "user_id_key_post", "parameters": [ { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, для которого будет сгенерирован ключ", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/UserKeyPostSchema" } } ], "responses": { "200": { "description": "Ключ успешно сгенерирован", "schema": { "$ref": "#/definitions/AuthKey" } }, "default": { "description": "Ошибка генерации или сохранения ключа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/user/{user_id}/email_confirm": { "post": { "tags": [ "user_id" ], "description": "Подтверждение email пользователя (internal only)", "operationId": "user_id_email_confirm_post", "parameters": [ { "name": "user_id", "in": "path", "description": "Идентификатор или email пользователя, email которого будем подтверждать", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Email подтвержден", "schema": { "$ref": "#/definitions/SessionSchema" } }, "default": { "description": "Ошибка подтверждения email-а", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/domain": { "get": { "tags": [ "domain" ], "description": "Получение информации о доменах", "operationId": "domain_get", "parameters": [ { "name": "instance-id", "in": "header", "description": "Идентификатор инстанса, для которого будет получена информация о его домене", "type": "integer" } ], "responses": { "200": { "description": "Информация о доменах получена успешно", "schema": { "$ref": "#/definitions/DomainGetSchema" } } } } }, "/email_confirm": { "post": { "tags": [ "email_confirm" ], "description": "Отправка письма для подтверждения почты", "operationId": "email_confirm_post", "parameters": [ { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmailConfirmParams" } } ], "responses": { "200": { "description": "Почта успешно подтверждена", "schema": { "$ref": "#/definitions/MailPostSchema" } }, "default": { "description": "Ошибка подтверждения почты", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/company/info/{language}": { "post": { "tags": [ "company_info" ], "description": "Предоставление информации о компании в зависимости от переданного языка", "operationId": "company_info_language_get", "parameters": [ { "name": "language", "in": "path", "description": "Код языка, для которого будет предоставлена информация о компании. Необязательный параметр", "type": "string", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmptySchema" } } ], "responses": { "200": { "description": "Информация успешно предоставлена", "schema": { "$ref": "#/definitions/CompanyInfoLanguageSchema" } } } } }, "/gdpr/remove_data": { "post": { "tags": [ "gdpr" ], "description": "Отправка письма в службу поддержки об удалении персональных данных и создание записи в журнале", "operationId": "gdpr_remove_data", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 17A44DC29A4C8307C55DA054", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/EmailToSupportParams" } } ], "responses": { "200": { "description": "Отправка письма в техническую поддержку успешна", "schema": { "$ref": "#/definitions/SuccessEmailTaskSchema" } }, "default": { "description": "Ошибка отправки письма в техническую поддержку", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance": { "get": { "tags": [ "instance" ], "description": "Получение списка инстансов пользователя", "operationId": "instance_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" } ], "responses": { "200": { "description": "Инстансы пользователя успешно найдены ", "schema": { "$ref": "#/definitions/InstanceGetList" } }, "default": { "description": "Ошибка определения инстансов пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "instance" ], "description": "Добавление инстанса", "operationId": "instance_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstancePostParams" } } ], "responses": { "200": { "description": "Инстанс успешно добавлен", "schema": { "$ref": "#/definitions/InstancePostSchema" } }, "default": { "description": "Ошибка добавления инстанса", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}": { "get": { "tags": [ "instance" ], "description": "Получение инстанса пользователя по его идентификатору", "operationId": "instance_id_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Данные об инстансе пользователя успешно получены", "schema": { "$ref": "#/definitions/InstanceGetSchema" } }, "default": { "description": "Ошибка определения инстанса пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "instance" ], "description": "Редактирование инстанса пользователя по его идентификатору", "operationId": "instance_id_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, который редактируется", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstanceIdPostParams" } } ], "responses": { "200": { "description": "Данные об инстансе пользователя успешно обновлены", "schema": { "$ref": "#/definitions/InstancePostSchema" } }, "default": { "description": "Ошибка определения инстанса пользователя", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "delete": { "tags": [ "instance" ], "description": "Удаление конкретного инстанса", "operationId": "instance_id_delete", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 9AD989CAF049", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, который будет удален", "type": "integer", "required": true } ], "responses": { "200": { "description": "Инстанс успешно удален", "schema": { "$ref": "#/definitions/InstancePostSchema" } }, "default": { "description": "Ошибка удаления инстанса", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/owner": { "get": { "tags": [ "instance" ], "description": "Get instance owner by instance id", "operationId": "instance_owner_get", "parameters": [ { "name": "Cookie", "in": "header", "description": "Cookie authorization", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Instance identifier", "type": "integer", "required": true } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/InstanceGetOwnerSchema" } }, "default": { "description": "Fail get instance owner", "schema": { "$ref": "#/definitions/ErrorSchema" } } } }, "post": { "tags": [ "instance" ], "description": "Смена владельца инстанса", "operationId": "instance_id_owner_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 0BAF9DF5C94FB2432B01882D", "type": "string" }, { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, у которого будет изменен владелец", "type": "integer", "required": true }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstanceOwnerParams" } } ], "responses": { "200": { "description": "Владелец инстанса успешно изменен", "schema": { "$ref": "#/definitions/InstancePostSchema" } }, "default": { "description": "Ошибка смены владельца инстанса", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance_box": { "post": { "tags": [ "instance" ], "description": "Добавление инстанса без сервера", "operationId": "instance_box_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 0BAF9DF5C94FB2432B01882D", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstancePostParams" } } ], "responses": { "200": { "description": "Инстанс успешно добавлен", "schema": { "$ref": "#/definitions/InstancePostSchema" } }, "default": { "description": "Ошибка добавления инстанса", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance_platform": { "post": { "tags": [ "instance" ], "description": "Добавление инстанса в режиме платформы", "operationId": "instance_platform_post", "parameters": [ { "name": "Cookie", "in": "header", "description": "Авторизация по cookie ses6, например 0BAF9DF5C94FB2432B01882D", "type": "string" }, { "name": "parameters", "in": "body", "schema": { "$ref": "#/definitions/InstancePostParams" } } ], "responses": { "200": { "description": "Инстанс успешно добавлен", "schema": { "$ref": "#/definitions/InstancePostSchema" } }, "default": { "description": "Ошибка добавления инстанса", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/privkey": { "get": { "tags": [ "instance" ], "description": "Получение приватного ssh ключа для инстанса по его идентификатору", "operationId": "instance_id_privkey", "parameters": [ { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Данные об инстансе пользователя успешно получены", "schema": { "$ref": "#/definitions/InstancePrivkeySchema" } }, "default": { "description": "Ошибка получения приватного ssh ключа", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } }, "/instance/{instance_id}/dbparams": { "get": { "tags": [ "instance" ], "description": "Получение параметров подключения к БД и ключа шифрования для инстанса или глобального сервиса", "operationId": "instance_id_dbparams", "parameters": [ { "name": "instance_id", "in": "path", "description": "Идентификатор инстанса, по которому запрашивается информация", "type": "integer", "required": true } ], "responses": { "200": { "description": "Данные о подключении к БД успешно получены", "schema": { "$ref": "#/definitions/InstanceDbParamsSchema" } }, "default": { "description": "Ошибка получения данных к подключению к БД", "schema": { "$ref": "#/definitions/ErrorSchema" } } } } } }, "definitions": { "AdminPostParams": { "type": "object", "required": [ "email", "password", "terms_of_use", "privacy_policy", "mailing_policy" ], "properties": { "email": { "description": "Email администратора", "type": "string", "format": "email", "example": "admin@example.com" }, "full_name": { "description": "Полное имя администратора", "type": "string", "example": "Administrator" }, "phone_number": { "description": "Телефонный номер администратора", "type": "string" }, "password": { "description": "Пароль администратора", "type": "string" }, "terms_of_use": { "description": "Согласие пользователя с пользовательским соглашением", "type": "boolean" }, "privacy_policy": { "description": "Согласие пользователя с политикой приватности", "type": "boolean" }, "mailing_policy": { "description": "Согласие пользователя с политикой рассылок", "type": "boolean" }, "product": { "description": "Продукт, к шаблону которого будет привязано письмо", "type": "string" }, "lang": { "description": "Язык администратора", "type": "string", "default": "en" } } }, "TokenIdChangePasswordPostParam": { "type": "object", "required": [ "password" ], "properties": { "password": { "description": "Новый пароль", "type": "string" } } }, "TokenIdChangePasswordSchema": { "type": "object", "properties": { "expires_at": { "description": "Время жизни созданной сессии. До указанного времени сессия считается активной", "type": "string", "example": "2018-12-29 04:02:37" }, "id": { "type": "integer", "example": 565 }, "session": { "description": "Созданная сессия с измененным паролем", "type": "string", "example": "39B77134C2E6C" } } }, "TokenIdEmailConfirmSchema": { "type": "object", "properties": { "expires_at": { "description": "Время жизни созданной сессии. До указанного времени сессия считается активной", "type": "string", "example": "2018-12-29 04:02:37" }, "session": { "description": "Созданная сессия", "type": "string", "example": "39B77134C2E6C" } } }, "TokenIdInviteUserParams": { "type": "object", "required": [ "password", "terms_of_use", "privacy_policy", "mailing_policy" ], "properties": { "password": { "description": "Новый пароль", "type": "string" }, "terms_of_use": { "description": "Согласие пользователя с пользовательским соглашением", "type": "boolean" }, "privacy_policy": { "description": "Согласие пользователя с политикой приватности", "type": "boolean" }, "mailing_policy": { "description": "Согласие пользователя с политикой рассылок", "type": "boolean" } } }, "AuthParams": { "type": "object", "properties": { "email": { "description": "Email пользователя, под которым создаём сессию", "type": "string", "example": "admin@example.com", "default": "admin@example.com" }, "password": { "type": "string", "example": "q1w2e3", "default": "q1w2e3" } } }, "AuthByKeyParams": { "type": "object", "properties": { "key": { "description": "Одноразовый ключ авторизации", "type": "string", "example": "E5ED5D7A46CD257154E03D8C676B177D", "default": "E5ED5D7A46CD257154E03D8C676B177D" } } }, "FirstUserInviteToken": { "type": "object", "properties": { "token": { "description": "Токен регистрации первого пользователя", "type": "string", "example": "E5ED5D7A46CD257154E03D8C676B177D" } } }, "Session": { "type": "object", "properties": { "id": { "type": "integer" }, "session": { "type": "string", "example": "9AD989CAF049" }, "expires_at": { "description": "Время жизни созданной сессии. До указанного времени сессия считается активной", "type": "string", "example": "2018-12-20 05:01:32" } } }, "WhoamiSchema": { "type": "object", "properties": { "last_notify": { "type": "integer", "example": 534 }, "expires_at": { "description": "Время жизни сессии. До указанного времени сессия считается активной", "type": "string", "example": "2018-12-20 05:17:12" }, "owner_email": { "description": "Email владельца сессии", "type": "string", "example": "admin@example.com" }, "owner_id": { "description": "Идентификатор владельца сессии", "type": "integer", "example": 5 }, "ses_id": { "description": "Идентификатор сессии пользователя, под которой выполнен запрос", "type": "integer", "example": 92 }, "session": { "description": "Имя сессии пользователя, под которой выполнен запрос", "type": "string", "example": "9AD989CAF049" }, "trustee_email": { "description": "Email доверенного пользователя сессии", "type": "string", "example": "admin@example.com" }, "trustee_id": { "description": "Идентификатор доверенного пользователя сессии", "type": "integer", "example": 9 }, "roles": { "description": "Роль пользователя, под которым выполнен запрос. Если в запросе нет параметра 'instance-id', то в ответе придут роли пользователя в сервисе авторизации, иначе - роли в указанном инстансе", "type": "array", "items": { "type": "string", "example": "@user" } }, "xsrf_token": { "description": "Токен для защиты от XSRF", "type": "string", "example": "9AD989CAF049" } } }, "SessionDeleteList": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "list": { "description": "Список заданий для остановки инстансов", "type": "array", "items": { "type": "object", "properties": { "instance_id": { "description": "Идентификатор инстанса, который будет остановлен", "type": "integer", "example": 565 }, "task_id": { "description": "Идентификатор задачи на остановку инстанса", "type": "integer", "example": 565 } } } } } }, "FirstUserParams": { "type": "object", "properties": { "email": { "description": "Адрес электронной почты", "type": "string" }, "password": { "description": "Пароль пользователя", "type": "string" } } }, "InstanceUserList": { "type": "object", "properties": { "last_notify": { "type": "integer", "example": 565 }, "list": { "description": "Список ролей", "type": "array", "items": { "type": "string", "example": "@admin" } } } }, "InstanceUsersList": { "type": "object", "properties": { "last_notify": { "type": "integer", "example": 565 }, "list": { "type": "array", "items": { "$ref": "#/definitions/InstanceUsersSchema" } } } }, "InstanceUsersSchema": { "type": "object", "properties": { "email": { "type": "string", "example": "admin@example.com" }, "full_name": { "type": "string", "example": "Иванов Иван Иванович" }, "id": { "type": "integer", "example": 13 }, "phone_number": { "type": "string", "example": "" }, "state": { "type": "string", "enum": [ "active", "disabled" ] }, "roles": { "type": "array", "items": { "type": "string", "example": "@admin" } } } }, "InstanceIdUserPost": { "type": "object", "required": [ "user", "roles" ], "properties": { "user": { "description": "Имя добавляемого пользователя", "type": "string", "example": "useradmin" }, "roles": { "description": "Список ролей добавляемого пользователя", "type": "array", "items": { "type": "string", "example": "@admin" } } } }, "InviteUserPostParams": { "type": "object", "required": [ "email" ], "properties": { "email": { "description": "Email пользователя", "type": "string", "format": "email", "example": "admin@example.com" } } }, "CurrentuserSettingNamePostParams": { "description": "Содержит перечень описаний для указанной настройки. Может быть null", "type": "object" }, "CurrentuserSettingNameSchema": { "type": "object", "properties": { "data": { "description": "Содержит перечень описаний для указанной настройки. Может быть null", "type": "array", "items": { "type": "object" } }, "last_notify": { "type": "integer", "example": 2 } } }, "SupportSendEmailPostParams": { "type": "object", "required": [ "subject", "letter" ], "properties": { "subject": { "description": "Заголовок письма", "type": "string", "example": "Не могу подключиться к сайту" }, "letter": { "description": "Содержимое письма", "format": "url-encode", "type": "string" }, "lang": { "description": "Язык на котором будет отправлено письмо", "type": "string", "example": "ru" }, "product": { "description": "Имя продукта для привязки шаблона письма к продукту", "type": "string" } } }, "SupportSendEmailPostSuccessTaskSchema": { "type": "object", "properties": { "task": { "type": "integer" } } }, "ServiceOrderParams": { "type": "object", "required": [ "period", "auto_prolong", "node_count", "instance_count" ], "properties": { "period": { "description": "Период, на который заказывается услуга", "type": "integer" }, "auto_prolong": { "description": "Период, автопродление услуги", "type": "integer" }, "node_count": { "description": "Количество узлов", "type": "integer" }, "instance_count": { "description": "Количество VM", "type": "integer", "enum": [ 0, 20, 50, 100, 250, 500 ] } } }, "ServiceEditParams": { "type": "object", "properties": { "auto_prolong": { "description": "Период, автопродление услуги", "type": "integer" }, "node_count": { "description": "Количество узлов", "type": "integer" }, "instance_count": { "description": "Количество VM", "type": "integer", "enum": [ 0, 20, 50, 100, 250, 500 ] } } }, "ServiceOperation": { "type": "object", "properties": { "id": { "description": "Идентификатор заказа, над которым выполняется операция", "type": "integer", "example": 1 }, "task_id": { "description": "Идентификатор задания на обработку заказа", "type": "integer", "example": 1 } } }, "PaymentForm": { "type": "object", "properties": { "payment_form": { "description": "Форма оплаты, отданная биллингом", "type": "string" } } }, "PaymentHistory": { "type": "array", "items": { "type": "object", "properties": { "amount": { "description": "Сумма платежа", "type": "string" }, "local_name": { "description": "Наименование расхода", "type": "string" }, "notpayd": { "description": "Не оплачено", "type": "string" }, "realdate": { "description": "Дата платежа", "type": "string" }, "taxamount": { "description": "Налог", "type": "string" } } } }, "UserSshKeyPostParams": { "type": "object", "required": [ "name", "ssh_pub_key" ], "properties": { "name": { "description": "Имя публичного ssh ключа", "type": "string", "pattern": "^[^ ]", "example": "my key name" }, "ssh_pub_key": { "description": "Публичный ssh ключ", "type": "string", "example": "" } } }, "UserSshKeyEditPostParams": { "type": "object", "required": [ "name" ], "properties": { "name": { "description": "Имя публичного ssh ключа", "type": "string", "pattern": "^[^ ]", "example": "my key name" } } }, "UserSshKeyEditResponse": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "UserSshKeyGetResponse": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "ssh_pub_key": { "type": "string" } } }, "UserSshKeyListResponse": { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/UserSshKeyGetResponse" } } } }, "ProductUserList": { "type": "object", "properties": { "last_notify": { "type": "integer", "example": 565 }, "size": { "type": "integer", "example": 1 }, "list": { "type": "array", "items": { "$ref": "#/definitions/ProductUserSchema" } } } }, "ProductUserSchema": { "type": "object", "properties": { "id": { "type": "integer", "example": 565 }, "name": { "type": "string", "example": "vepp" }, "version": { "type": "string", "example": "1.0.0" } } }, "ProductPostParams": { "type": "object", "properties": { "name": { "description": "Имя продукта", "type": "string" }, "version": { "description": "Версия продукта", "type": "string", "example": "1.1.0" }, "docker_compose_file": { "description": "Файл для поднятия стека продукта", "type": "string" }, "script": { "description": "Скрипт для проверки, подходит ли переданный сервер для продукта", "type": "string" } } }, "ChangePasswordParams": { "type": "object", "properties": { "email": { "description": "Email пользователя, для которого изменяем пароль", "type": "string", "example": "admin@example.com", "default": "admin@example.com" } } }, "TrusteeuserPostParams": { "type": "object", "required": [ "trustee", "role", "instance" ], "properties": { "trustee": { "description": "Имя доверенный пользователя", "type": "string", "format": "email", "example": "admin@example.com" }, "role": { "description": "Роль доверенного пользователя в рамках инстанса, на котором он будет подключен", "type": "string", "example": "@user" }, "instance": { "description": "Инстанc, на котором будет работать создаваемый доверенный пользователь", "type": "integer", "example": 2 } } }, "TrusteeuserIdPostParams": { "type": "object", "properties": { "role": { "description": "Роль доверенного пользователя в рамках инстанса", "type": "string", "example": "@user" }, "instance": { "description": "Инстанc, на котором будет работать доверенный пользователь", "type": "integer", "example": 2 } } }, "TrusteeuserIdDeleteSchema": { "type": "object", "properties": { "trusteeuser_id": { "description": "Идентификатор доверенного пользователя, который удален", "type": "integer", "example": 2 } } }, "AuthKey": { "type": "object", "properties": { "key": { "type": "string", "example": "C9AD989CAF049AC" }, "expires_at": { "description": "Время жизни ключа авторизации", "type": "string", "example": "2018-12-20 05:01:32" } } }, "UserExistEmailSchema": { "type": "object", "properties": { "email_confirm": { "description": "Подтвержден у пользователя email: false - нет, true - да", "type": "boolean" }, "exist": { "description": "Зарегистрирован пользователь в системе: false - нет, true - да", "type": "boolean" }, "last_notify": { "type": "integer" }, "wait": { "description": "Счетчик повторной отправки письма для подтверждения регистрации, в секундах. Поле появляется в том случае, если email ещё не подтверждён, письмо отправлено, но таймаут на отправку не вышел (по умолчанию 300).", "type": "integer", "example": 300 } } }, "UserGetList": { "type": "object", "properties": { "last_notify": { "type": "integer" }, "size": { "description": "Количество пользователей, существующих в сервисе авторизации", "type": "integer" }, "list": { "description": "Список пользователей, существующих в сервисе авторизации", "type": "array", "items": { "$ref": "#/definitions/UserGetSchema" } } } }, "UserGetSchema": { "type": "object", "properties": { "email": { "description": "Email пользователя", "type": "string", "example": "admin@example.com" }, "full_name": { "description": "Полное имя пользователя", "type": "string", "example": "Administrator" }, "id": { "description": "Идентификатор пользователя", "type": "integer" }, "phone_number": { "description": "Телефонный номер пользователя", "type": "string" }, "state": { "description": "Статус пользователя", "type": "string", "enum": [ "active", "disabled" ] } } }, "UserPostParams": { "type": "object", "required": [ "email", "password", "terms_of_use", "privacy_policy", "mailing_policy" ], "properties": { "email": { "description": "Email пользователя", "type": "string", "format": "email", "example": "admin@example.com" }, "full_name": { "description": "Полное имя пользователя", "type": "string", "example": "Administrator" }, "phone_number": { "description": "Телефонный номер пользователя", "type": "string" }, "password": { "description": "Пароль пользователя", "type": "string" }, "terms_of_use": { "description": "Согласие пользователя с пользовательским соглашением", "type": "boolean" }, "privacy_policy": { "description": "Согласие пользователя с политикой приватности", "type": "boolean" }, "mailing_policy": { "description": "Согласие пользователя с политикой рассылок", "type": "boolean" }, "no_need_mail": { "description": "Не присылать письмо с подтверждением на почту (пользователь останется неподтвержденным)", "type": "boolean", "default": false }, "product": { "description": "Продукт, к шаблону которого будет привязано письмо", "type": "string" }, "lang": { "description": "Язык пользователя", "type": "string", "default": "en" } } }, "UserIdGetSchema": { "type": "object", "properties": { "avatar": { "description": "Аватар пользователя", "type": "string" }, "avatar_content_type": { "description": "Формат аватара пользователя", "type": "string" }, "avatar_filename": { "description": "Имя файла аватара пользователя", "type": "string" }, "email": { "description": "Email пользователя", "type": "string", "example": "admin@example.com" }, "email_confirm": { "description": "Подтвержден у пользователя email: false - нет, true - да", "type": "boolean" }, "full_name": { "description": "Полное имя пользователя", "type": "string" }, "id": { "description": "Идентификатор пользователя", "type": "integer" }, "password": { "description": "Пароль пользователя. Возвращается в зашифрованном виде", "type": "string" }, "phone_number": { "description": "Телефонный номер пользователя", "type": "string" }, "property": { "description": "", "type": "string" }, "ssh_pub_key": { "description": "Публичный ключ пользователя", "type": "string" }, "state": { "description": "Статус пользователя", "type": "string", "enum": [ "active", "disabled" ] } } }, "UserIdPostParams": { "type": "object", "properties": { "old_password": { "description": "Старый пароль пользователя", "type": "string" }, "full_name": { "description": "Полное имя пользователя", "type": "string" }, "phone_number": { "description": "Телефонный номер пользователя", "type": "string" }, "password": { "description": "Новый пароль пользователя", "type": "string" } } }, "UserIdSuPostSchema": { "type": "object", "properties": { "id": { "description": "Идентификатор созданной сессии", "type": "integer" }, "session": { "description": "Созданная сессия", "type": "string" }, "expires_at": { "description": "Время жизни созданной сессии. До указанного времени сессия считается активной", "type": "string", "example": "2018-12-20 05:17:12" } } }, "UserKeyPostSchema": { "type": "object", "properties": { "lifetime": { "description": "Время жизни созданной сессии в минутах", "type": "integer", "example": 180 } }, "additionalProperties": false }, "DomainGetSchema": { "type": "object", "properties": { "domain": { "description": "Поддомен", "type": "string", "example": "my.vepp.com" }, "last_notify": { "type": "integer" }, "main_domain": { "description": "Основной домен", "type": "string", "example": "vepp.com" }, "login_url": { "description": "URL авторизации, если применимо", "type": "string", "example": "https://auth.vepp.com/" }, "sub_domain": { "description": "Домен инстанса. Добавляется в ответ при наличии переданного параметра", "type": "string", "example": "vepp-1.vepp.com" } } }, "EmailConfirmParams": { "type": "object", "required": [ "email" ], "properties": { "email": { "description": "Email, который подтверждается", "type": "string", "format": "email", "example": "admin@example.com" } } }, "CompanyInfoLanguageSchema": { "type": "object", "properties": { "copyright": { "description": "Информация о копирайте", "type": "string", "example": "ISPsystem © 1997-2018" }, "last_notify": { "type": "integer" }, "phone_number": { "description": "Телефонный номер технической поддержки", "type": "string", "example": "+1-941-4878209" }, "support_email": { "description": "Email технической поддержки", "type": "string", "example": "help@vepp.com" } } }, "InstanceGetList": { "type": "object", "properties": { "last_notify": { "type": "integer", "example": 565 }, "main_table": { "type": "string", "example": "auth_instance" }, "size": { "type": "integer", "example": 1 }, "list": { "type": "array", "items": { "$ref": "#/definitions/InstanceGetSchema" } } } }, "InstanceGetSchema": { "type": "object", "properties": { "failure_reason": { "description": "Причина, по которой не удалось подключить инстанс", "type": "object", "properties": { "code": { "type": "integer", "example": 2209 }, "desc": { "type": "string", "example": "Manager health-check failed" }, "details": { "type": "string", "example": "Vepp healthcheck failed" } } }, "id": { "description": "Идентификатор инстанса", "type": "integer", "example": 1 }, "name": { "description": "Имя инстанса", "type": "string", "example": "vepp-1" }, "owner": { "description": "Владелец инстанса. Отображается для админа, внутреннего пользователя или хозяина инстанса", "type": "string", "example": "admin@example.com" }, "product": { "description": "Продукт, установленный на инстанс", "type": "string", "example": "vepp" }, "started": { "description": "Время создания записи об инстансе в базе. Отображается для админа, внутреннего пользователя или хозяина инстанса", "type": "string", "example": "2018-12-04 06:53:22.000000" }, "status": { "description": "Текущиее состояние инстанса", "type": "string", "enum": [ "up", "create", "down", "delete", "fail", "setup", "suspend", "delete_fail" ] }, "task": { "type": "array", "items": { "$ref": "#/definitions/InstanceGetTaskSchema" } }, "mysql": { "description": "Данные для доступа к базе данных. Отображается для админа, внутреннего пользователя или хозяина инстанса", "type": "object", "properties": { "name": { "description": "Имя базы данных", "type": "string", "example": "vepp-1" }, "username": { "description": "Имя пользователя базы данных", "type": "string", "example": "vepp-1" }, "userpassword": { "description": "Пароль пользователя базы данных", "type": "string", "example": "ea9252355427117c" } } }, "is_owner": { "description": "Является ли пользователь, под которым выполнили запрос, владельцом инстанса", "type": "boolean" }, "expires_at": { "description": "Дата по истечении которой инстанс может работать в демо режиме", "type": "string", "example": "2018-12-04 06:53:22" }, "host": { "description": "Хост подключенного сервера", "type": "string" }, "port": { "description": "ssh порт подключенного сервера", "type": "integer", "example": 22 } } }, "InstanceGetTaskSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "name": { "type": "string", "example": "run_instance" } } }, "id": { "description": "Идентификатор задания", "type": "integer", "example": 1 }, "main_table": { "description": "Таблица, с которой работает задание", "type": "string", "example": "auth_instance" }, "main_table_id": { "description": "Идентификатор таблицы", "type": "integer", "example": 1 }, "name": { "description": "Имя задания", "type": "string", "example": "create_instance" }, "state": { "description": "Текущее состояние задания", "type": "string", "enum": [ "running", "queue", "deferred", "failed", "complete" ] } } }, "InstancePostParams": { "type": "object", "properties": { "host": { "description": "Ip адрес сервера, к которому привязывается инстанс", "type": "string", "example": "1.1.1.1" }, "login": { "description": "Имя пользователя, под которым подключаемся к серверу. Пользователь должен обладать на сервере правами уровня root", "type": "string", "example": "root" }, "password": { "description": "Пароль пользователя, под которым подключаемся к серверу", "type": "string", "example": "123root!" }, "port": { "description": "Порт сервера, к которому привязывается инстанс", "type": "integer", "example": 22 }, "product": { "description": "Продукт, с которым работает создаваемый инстанс. По умолчанию продукт, для которого создаем инстанс, берется из доменного имени, с которого был отправлен запрос (заголовок 'referer'), например 'my.vepp.com' или 'vm.ispsystem.com'. Если имя продукта не удалось получить, то берем продукт из поля 'product'.", "type": "string" }, "bill_id": { "description": "Код сервиса/услуги в биллинге соответствующий создаваемому инстансу.", "type": "string" }, "demo": { "description": "Определяет будет ли использован демо сервер", "type": "boolean", "example": false }, "owner": { "description": "Id владельца, если инстанс создается администратором и внутренним сервисом", "type": "integer", "example": 1234 } } }, "InstanceIdPostParams": { "type": "object", "required": [ "host" ], "properties": { "host": { "description": "Ip адрес сервера, к которому привязывается инстанс", "type": "string", "example": "1.1.1.1" }, "login": { "description": "Имя пользователя, под которым подключаемся к серверу. Пользователь должен обладать на сервере правами уровня root", "type": "string", "example": "root" }, "password": { "description": "Пароль пользователя, под которым подключаемся к серверу", "type": "string", "example": "123root!" }, "port": { "description": "Порт сервера, к которому привязывается инстанс", "type": "integer", "example": 22 } } }, "CheckConnectionPostParams": { "type": "object", "required": [ "host", "product", "user" ], "properties": { "host": { "description": "Ip адрес сервера для доступа по ssh", "type": "string", "example": "1.1.1.1" }, "login": { "description": "Имя пользователя для доступа по ssh", "type": "string", "example": "root" }, "password": { "description": "Пароль пользователя для доступа по ssh", "type": "string", "example": "123root!" }, "port": { "description": "Порт сервера, по которому осуществляется ssh доступ", "type": "integer", "example": 22 }, "product": { "description": "Тип продукта для определения скрипта проверки сервера", "type": "string", "example": 22 }, "user": { "description": "Код или имя пользователя для получения ssh ключей", "oneOf": [ { "type": "string" }, { "type": "integer" } ] } } }, "InstancePostSchema": { "type": "object", "properties": { "id": { "description": "Идентификатор инстанса, над которым выполняется операция", "type": "integer", "example": 1 }, "task_id": { "description": "Идентификатор задания на обработку инстанса", "type": "integer", "example": 1 } } }, "InstancePrivkeySchema": { "type": "object", "properties": { "id": { "description": "Идентификатор инстанса", "type": "integer", "example": 1 }, "privkey": { "description": "Приватный ssh ключ", "type": "string" } } }, "InstanceGetOwnerSchema": { "type": "object", "properties": { "owner": { "description": "Instance owner identifier", "type": "integer" }, "email": { "description": "Instance owner email", "type": "string" } } }, "InstanceOwnerParams": { "type": "object", "properties": { "owner": { "description": "Id или почтовый адрес нового владельца инстанса", "type": "string", "example": "test2@example.com" } } }, "InstanceDbParamsSchema": { "type": "object", "properties": { "key": { "description": "Приватный ключ", "type": "string" }, "params": { "description": "Параметры для подключения к БД", "type": "string" } } }, "Id": { "type": "object", "properties": { "id": { "type": "integer" } } }, "EmptySchema": { "type": "object", "additionalProperties": false }, "SuccessSchema": { "$ref": "#/definitions/Id" }, "SuccessTaskSchema": { "type": "object", "properties": { "id": { "type": "integer" }, "task": { "type": "integer" } } }, "SuccessEmailTaskSchema": { "type": "object", "properties": { "id": { "type": "integer" }, "task_id": { "type": "integer" }, "email_id": { "type": "integer" } } }, "ErrorSchema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "type": "integer" }, "msg": { "type": "string" }, "value": { "type": "string" } } } } }, "MailPostSchema": { "type": "object", "properties": { "status": { "type": "string", "example": "ok" }, "task": { "description": "ID задания на отправку письма", "type": "integer", "example": 3 }, "wait": { "description": "Счетчик повторной отправки письма, в секундах. Если повторить запрос с теми же данными до истечения срока ожидания (по умолчанию 300) - в ответ получаем ТОЛЬКО свойство 'wait' cо значением меньше 300", "type": "integer", "example": 300 }, "email_id": { "type": "integer", "example": 2, "description": "ID письма в таблице" } } }, "SessionSchema": { "type": "object", "properties": { "expires_at": { "description": "Время жизни созданной сессии. До указанного времени сессия считается активной", "type": "string", "example": "2018-12-29 04:02:37" }, "session": { "description": "Созданная сессия", "type": "string", "example": "39B77134C2E6C" } } }, "EmailToSupportParams": { "type": "object", "required": [ "subject", "letter" ], "properties": { "subject": { "description": "Тема письма", "type": "string", "example": "Запрос в техническую поддержку" }, "letter": { "description": "Содержимое письма", "type": "string", "example": "Добрый день. У меня все хорошо" }, "lang": { "description": "Язык на котором будет отправлено письмо", "type": "string", "example": "ru" }, "product": { "description": "Имя продукта для привязки шаблона письма к продукту", "type": "string", "example": "vepp" } } } }}