{ "swagger": "2.0", "info": { "title": "iam-gw-public", "version": "version not set" }, "tags": [ { "name": "AuthService" }, { "name": "MeService" }, { "name": "UsersService" }, { "name": "AccessKeyCredentialsService" }, { "name": "APIKeyService" }, { "name": "ServiceAccountService" }, { "name": "CustomersService" }, { "name": "ProjectsService" }, { "name": "PermissionsService" }, { "name": "GroupsService" } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/api/v1/auth/token": { "post": { "summary": "GetToken returns the token for the given credentials.", "operationId": "AuthService_GetToken", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/authGetTokenResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "description": "Запрос учетных данных для получения токена.", "in": "body", "required": true, "schema": { "$ref": "#/definitions/authGetTokenRequest" } } ], "tags": [ "AuthService" ] } }, "/api/v1/customers/{customerId}/users": { "get": { "summary": "Список пользователей.", "operationId": "CustomersService_ListUsers", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/v1customersListUsersResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор пользователя.", "in": "path", "required": true, "type": "string" }, { "name": "email", "description": "Адрес электронной почты пользователя. Поиск пользователей по частичному совпадению.", "in": "query", "required": false, "type": "string" }, { "name": "userName", "description": "Имя пользователя. Поиск пользователей по частичному совпадению.", "in": "query", "required": false, "type": "string" }, { "name": "isFederative", "description": "Флаг для фильтрации пользователей на федеративных и локальных.", "in": "query", "required": false, "type": "boolean" }, { "name": "limit", "description": "Количество записей на странице.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "before", "description": "Переход на предыдущую страницу.", "in": "query", "required": false, "type": "string" }, { "name": "after", "description": "Переход на следующую страницу.", "in": "query", "required": false, "type": "string" }, { "name": "accountType", "description": "Тип учетной записи пользователя: федеративная или локальная.", "in": "query", "required": false, "type": "string", "enum": [ "USER_ACCOUNT_TYPE_UNDEFINED", "USER_ACCOUNT_TYPE_FEDERATED", "USER_ACCOUNT_TYPE_LOCAL" ], "default": "USER_ACCOUNT_TYPE_UNDEFINED" } ], "tags": [ "CustomersService" ] }, "post": { "summary": "Приглашение пользователя в организацию.", "operationId": "CustomersService_InviteUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/customersInviteUserResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "409": { "description": "Конфликт.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации, куда приглашается пользователь.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CustomersServiceInviteUserBody" } } ], "tags": [ "CustomersService" ] } }, "/api/v1/customers/{customerId}/users/find": { "get": { "summary": "Поиск пользователя по электронной почте.", "operationId": "CustomersService_FindUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/customersFindUserResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации.", "in": "path", "required": true, "type": "string" }, { "name": "email", "description": "Адрес электронной почты пользователя.", "in": "query", "required": false, "type": "string" }, { "name": "type", "description": "Тип учетной записи пользователя.", "in": "query", "required": false, "type": "string", "enum": [ "USER_ACCOUNT_TYPE_UNDEFINED", "USER_ACCOUNT_TYPE_FEDERATED", "USER_ACCOUNT_TYPE_LOCAL" ], "default": "USER_ACCOUNT_TYPE_UNDEFINED" } ], "tags": [ "CustomersService" ] } }, "/api/v1/customers/{customerId}/users/reinvite": { "post": { "summary": "Повторное приглашение пользователя в организацию.", "operationId": "CustomersService_ReInviteUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организацииа, куда приглашается пользователь.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CustomersServiceReInviteUserBody" } } ], "tags": [ "CustomersService" ] } }, "/api/v1/customers/{customerId}/users/{userId}": { "get": { "summary": "Получение информации по пользователям организации.", "operationId": "CustomersService_GetUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/customersGetUserResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации.", "in": "path", "required": true, "type": "string" }, { "name": "userId", "description": "Идентификатор пользователя.", "in": "path", "required": true, "type": "string" } ], "tags": [ "CustomersService" ] }, "delete": { "summary": "Удаление пользователя из организации.", "operationId": "CustomersService_DeleteUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации, из которой нужно удалить пользователя.", "in": "path", "required": true, "type": "string" }, { "name": "userId", "description": "Идентификатор пользователя, которого нужно удалить.", "in": "path", "required": true, "type": "string" } ], "tags": [ "CustomersService" ] }, "put": { "summary": "Обновление параметров пользователей. Обновление только федеративных пользователей.", "operationId": "CustomersService_UpdateUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/customersUpdateUserResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации.", "in": "path", "required": true, "type": "string" }, { "name": "userId", "description": "Идентификатор пользователя для обновления.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CustomersServiceUpdateUserBody" } } ], "tags": [ "CustomersService" ] } }, "/api/v1/groups": { "get": { "summary": "Просмотр группы пользователей.", "operationId": "GroupsService_List", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/groupsListGroupsResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "target.customerId", "description": "Идентификатор организации.", "in": "query", "required": false, "type": "string" }, { "name": "target.projectId", "description": "Идентификатор проекта.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Количество записей на странице.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "cursor.before", "description": "Переход на предыдущую страницу.", "in": "query", "required": false, "type": "string" }, { "name": "cursor.after", "description": "Переход на следующую страницу.", "in": "query", "required": false, "type": "string" } ], "tags": [ "GroupsService" ] }, "post": { "summary": "Создание новой группы.", "operationId": "GroupsService_Add", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/groupsAddGroupResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "409": { "description": "Конфликт.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/groupsAddGroupRequest" } } ], "tags": [ "GroupsService" ] } }, "/api/v1/groups/{groupId}/users": { "get": { "summary": "Получение списка пользователей, которые являются членами группы.", "operationId": "GroupsService_ListUsers", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/v1groupsListUsersResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "groupId", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" }, { "name": "limit", "description": "Количество записей на странице.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "cursor.before", "description": "Переход на предыдущую страницу.", "in": "query", "required": false, "type": "string" }, { "name": "cursor.after", "description": "Переход на следующую страницу.", "in": "query", "required": false, "type": "string" } ], "tags": [ "GroupsService" ] }, "post": { "summary": "Добавление пользователей в группу и удаление всех существующих членств.", "operationId": "GroupsService_SetUsers", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "groupId", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/GroupsServiceSetUsersBody" } } ], "tags": [ "GroupsService" ] } }, "/api/v1/groups/{groupId}/users/{userId}": { "get": { "summary": "Проверка, является ли пользователь членом группы.", "operationId": "GroupsService_HasUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/groupsHasUserResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "groupId", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" }, { "name": "userId", "description": "Идентификатор пользователя.", "in": "path", "required": true, "type": "string" } ], "tags": [ "GroupsService" ] }, "delete": { "summary": "Удаление пользователя из группы.", "operationId": "GroupsService_DeleteUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "groupId", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" }, { "name": "userId", "description": "Идентификатор пользователя.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/groupsGroupsServiceDeleteUserBody" } } ], "tags": [ "GroupsService" ] }, "post": { "summary": "Добавление пользователя в группу.", "operationId": "GroupsService_AddUser", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "409": { "description": "Конфликт.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "groupId", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" }, { "name": "userId", "description": "Идентификатор пользователя.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/GroupsServiceAddUserBody" } } ], "tags": [ "GroupsService" ] } }, "/api/v1/groups/{id}": { "get": { "summary": "Поиск группы по идентификатору.", "operationId": "GroupsService_Get", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/groupsGetGroupResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" } ], "tags": [ "GroupsService" ] }, "delete": { "summary": "Удаление группы.", "operationId": "GroupsService_Delete", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" } ], "tags": [ "GroupsService" ] }, "put": { "summary": "Обновление группы.", "operationId": "GroupsService_Update", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/groupsUpdateGroupResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор группы.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/groupsGroupsServiceUpdateBody" } } ], "tags": [ "GroupsService" ] } }, "/api/v1/me/accept_invite": { "put": { "summary": "Принимает приглашение в организацию.", "operationId": "MeService_AcceptInvite", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации.", "in": "query", "required": false, "type": "string" } ], "tags": [ "MeService" ] } }, "/api/v1/me/decline_invite": { "put": { "summary": "Отклоняет приглашение в организацию.", "operationId": "MeService_DeclineInvite", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "customerId", "description": "Идентификатор организации.", "in": "query", "required": false, "type": "string" } ], "tags": [ "MeService" ] } }, "/api/v1/permissions": { "get": { "summary": "Получение списка разрешений с помощью фильтра.", "operationId": "PermissionsService_List", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/permissionsListPermissionsResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "resourceId", "description": "Идентификатор ресурса.", "in": "query", "required": false, "type": "string" }, { "name": "customerId", "description": "Идентификатор организации.", "in": "query", "required": false, "type": "string" }, { "name": "role", "description": "Идентификатор роли.", "in": "query", "required": false, "type": "string" }, { "name": "subjectId", "description": "Идентификатор субъекта.", "in": "query", "required": false, "type": "string" }, { "name": "subjectType", "description": "Тип субъекта. Возможные значения: пользователь, группа пользователей, сервисный аккаунт.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Количество записей на странице.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "before", "description": "Переход на предыдущую страницу.", "in": "query", "required": false, "type": "string" }, { "name": "after", "description": "Переход на следующую страницу.", "in": "query", "required": false, "type": "string" } ], "tags": [ "PermissionsService" ] }, "delete": { "summary": "Удаление доступа.", "operationId": "PermissionsService_Delete", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/permissionsDeletePermissionRequest" } } ], "tags": [ "PermissionsService" ] }, "post": { "summary": "Добавление доступа.", "operationId": "PermissionsService_Add", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/permissionsAddPermissionRequest" } } ], "tags": [ "PermissionsService" ] } }, "/api/v1/permissions/bulk-evaluate": { "post": { "summary": "Список пользователей, имеющих доступ к проекту", "operationId": "PermissionsService_BulkEvaluate", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/permissionsBulkEvaluateResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/permissionsBulkEvaluateRequest" } } ], "tags": [ "PermissionsService" ] } }, "/api/v1/permissions/evaluate": { "get": { "summary": "Evaluate - evaluate if subject has permissions to perform action on object.\nRequest can be made either on behalf of user or service account.\nFor user requests subject is taken from access token (user can perform evaluate only for itself)\nReturns 403 status code if subject is not allowed to perform action on object\nor subject from token not allowed to perform evaluate for provided request data", "operationId": "PermissionsService_Evaluate", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/permissionsEvaluateResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "action", "description": "Action - action that is checked", "in": "query", "required": false, "type": "string" }, { "name": "resourceId", "description": "ResourceId - resource object id for which evaluate should be checked", "in": "query", "required": false, "type": "string" }, { "name": "customerId", "description": "CustomerID - customer object id for which evaluate should be checked\nOptional. Is supported only if request is made on behalf of user account", "in": "query", "required": false, "type": "string" }, { "name": "userId", "description": "UserID - user subject id for which evaluate should be checked\nOptional. Is supported only if request is made on behalf of service account", "in": "query", "required": false, "type": "string" }, { "name": "serviceAccountId", "description": "ServiceAccountID - service account subject id for which evaluate should be checked\nOptional. Is supported only if is made on behalf of service account", "in": "query", "required": false, "type": "string" } ], "tags": [ "PermissionsService" ] } }, "/api/v1/projects/{projectId}/users": { "get": { "summary": "ListUsers list user's that have permissions on project", "operationId": "ProjectsService_ListUsers", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/projectsListProjectUsersResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "projectId", "in": "path", "required": true, "type": "string" }, { "name": "email", "description": "Электронная почта пользователя. Поиск пользователей по частичному совпадению.", "in": "query", "required": false, "type": "string" }, { "name": "userName", "description": "Имя пользователя. Поиск пользователей по частичному совпадению.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Количество записей на странице. При указании значения 0 будут возвращены все пользователи, удовлетворяющие запросу.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "before", "description": "Переход на предыдущую страницу..", "in": "query", "required": false, "type": "string" }, { "name": "after", "description": "Переход на следующую страницу.", "in": "query", "required": false, "type": "string" } ], "tags": [ "ProjectsService" ] } }, "/api/v1/service-accounts": { "post": { "summary": "Добавление нового сервисного аккаунта.", "operationId": "ServiceAccountService_Add", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsAddServiceAccountResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "409": { "description": "Конфликт.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/service_accountsAddServiceAccountRequest" } } ], "tags": [ "ServiceAccountService" ] } }, "/api/v1/service-accounts/credentials/access-keys": { "post": { "summary": "Добавление ключа доступа сервисному аккаунту.", "operationId": "AccessKeyCredentialsService_Add", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsAddAccessKeyResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/service_accountsAddAccessKeyRequest" } } ], "tags": [ "AccessKeyCredentialsService" ] } }, "/api/v1/service-accounts/credentials/access-keys/{id}": { "get": { "summary": "Возвращение информации о ключе доступа по идентификатору для сервисного аккаунта.", "operationId": "AccessKeyCredentialsService_Get", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsGetAccessKeyResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор ключа.", "in": "path", "required": true, "type": "string" } ], "tags": [ "AccessKeyCredentialsService" ] }, "delete": { "summary": "Удаление ключа доступа по идентификатору для сервисного аккаунта.", "operationId": "AccessKeyCredentialsService_Delete", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор ключа.", "in": "path", "required": true, "type": "string" } ], "tags": [ "AccessKeyCredentialsService" ] } }, "/api/v1/service-accounts/credentials/api-keys": { "get": { "summary": "Просмотр списка API-ключей.", "operationId": "APIKeyService_List", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsListAPIKeysResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "filter.serviceAccountId", "description": "Идентификатор сервисного аккаунта.", "in": "query", "required": false, "type": "string" }, { "name": "filter.enabled", "description": "Флаг активности ключа.", "in": "query", "required": false, "type": "boolean" }, { "name": "paths", "description": "Список свойств API-ключа, которые будут использованы для фильтрации. Возможные значения: идентификатор сервисного аккаунта", "in": "query", "required": false, "type": "string" } ], "tags": [ "APIKeyService" ] }, "delete": { "summary": "Удаление API-ключа.", "operationId": "APIKeyService_Delete", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "keyId", "description": "Идентификатор ключа.", "in": "query", "required": false, "type": "string" }, { "name": "serviceAccountId", "description": "Идентификатор сервисного аккаунта.", "in": "query", "required": false, "type": "string" } ], "tags": [ "APIKeyService" ] }, "post": { "summary": "Добавление API-ключа.", "operationId": "APIKeyService_Add", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsAPIKey" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "409": { "description": "Конфликт.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "description": "Запрос на добавление API-ключа.", "in": "body", "required": true, "schema": { "$ref": "#/definitions/service_accountsAddAPIKeyRequest" } } ], "tags": [ "APIKeyService" ] }, "put": { "summary": "Обновление API-ключа.", "operationId": "APIKeyService_Update", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsAPIKey" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "description": "Запрос на обновление API-ключа.", "in": "body", "required": true, "schema": { "$ref": "#/definitions/service_accountsUpdateAPIKeyRequest" } } ], "tags": [ "APIKeyService" ] } }, "/api/v1/service-accounts/credentials/api-keys/products": { "get": { "summary": "Просмотр списка доступных продуктов.", "operationId": "APIKeyService_ListProducts", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsListProductsResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "tags": [ "APIKeyService" ] } }, "/api/v1/service-accounts/credentials/api-keys/{id}": { "get": { "summary": "Просмотр API-ключей.", "operationId": "APIKeyService_Get", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsAPIKey" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор ключа.", "in": "path", "required": true, "type": "string" } ], "tags": [ "APIKeyService" ] } }, "/api/v1/service-accounts/credentials/api-keys/{id}/reissue": { "post": { "summary": "Перевыпуск API-ключа.", "operationId": "APIKeyService_Reissue", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsAPIKey" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "id", "description": "Идентификатор ключа.", "in": "path", "required": true, "type": "string" }, { "name": "expiresAt", "description": "Дата окончания срока действия нового ключа.", "in": "query", "required": false, "type": "string", "format": "date-time" } ], "tags": [ "APIKeyService" ] } }, "/api/v1/service-accounts/{serviceAccountId}": { "get": { "summary": "Просмотр информации о сервисном аккаунте.", "operationId": "ServiceAccountService_Get", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsGetServiceAccountResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "serviceAccountId", "description": "Идентификатор сервисного аккаунта.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ServiceAccountService" ] }, "delete": { "summary": "Удаление сервисныйого аккаунта.", "operationId": "ServiceAccountService_Delete", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "409": { "description": "Конфликт.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "serviceAccountId", "description": "Идентификатор сервисного аккаунта.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ServiceAccountService" ] } }, "/api/v1/service-accounts/{serviceAccountId}/credentials/access-keys": { "get": { "summary": "Просмотр списка ключей доступа для сервисного аккаунта.", "operationId": "AccessKeyCredentialsService_List", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "$ref": "#/definitions/service_accountsListAccessKeyResponse" } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "serviceAccountId", "description": "Идентификатор сервисного аккаунта.", "in": "path", "required": true, "type": "string" } ], "tags": [ "AccessKeyCredentialsService" ] } }, "/api/v1/users/{userId}/password": { "put": { "operationId": "UsersService_ChangePassword", "responses": { "200": { "description": "Успешное выполнение запроса.", "schema": { "type": "object", "properties": {} } }, "400": { "description": "Некорректный запрос.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "401": { "description": "Необходима авторизация.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "403": { "description": "Доступ запрещен.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "404": { "description": "Ресурс не найден.", "schema": { "$ref": "#/definitions/rpcStatus" } }, "500": { "description": "Внутренняя ошибка сервера.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "userId", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/UsersServiceChangePasswordBody" } } ], "tags": [ "UsersService" ] } } }, "definitions": { "CustomersServiceInviteUserBody": { "type": "object", "properties": { "userName": { "type": "string", "title": "ФИО пользователя." }, "firstName": { "type": "string", "title": "Имя пользователя." }, "lastName": { "type": "string", "title": "Фамилия пользователя." }, "middleName": { "type": "string", "title": "Отчество пользователя." }, "email": { "type": "string", "title": "Электронная почта пользователя." }, "federative": { "type": "boolean", "title": "Флаг, что пользователь является федеративным, локальным или приглашенным." }, "idpId": { "type": "string", "title": "IDPID - необязательное поле для привязки пользователя к idp-клиента. Поддерживается только для федеративных пользователей." }, "accountType": { "$ref": "#/definitions/v1customersUserAccountType", "title": "Тип учетной записи пользователя: федеративная или локальная." } }, "title": "Приглашение пользователя в организацию." }, "CustomersServiceReInviteUserBody": { "type": "object", "properties": { "userId": { "type": "string", "title": "Идентификатор пользователя." } }, "title": "Запрос на повторное приглашение пользователя." }, "CustomersServiceUpdateUserBody": { "type": "object", "properties": { "firstName": { "type": "string", "title": "Имя пользователя." }, "lastName": { "type": "string", "title": "Фамилия пользователя." }, "middleName": { "type": "string", "title": "Отчество пользователя." }, "enabled": { "type": "boolean", "title": "Флаг блокировки/разблокировки пользователя." } }, "title": "Обновление запроса на приглашение пользователя." }, "GroupsServiceAddUserBody": { "type": "object", "title": "Запрос на добавление пользователя в группу." }, "GroupsServiceSetUsersBody": { "type": "object", "properties": { "userIds": { "type": "array", "items": { "type": "string" }, "title": "Идентификатор пользователя для добавления в группу." } }, "title": "Запрос на включение пользователя в группу." }, "TimeRangeTimeSlot": { "type": "object", "properties": { "start": { "type": "integer", "format": "int32", "title": "Начало диапазона в часах." }, "end": { "type": "integer", "format": "int32", "title": "Конец диапазона в часах." } } }, "UsersServiceChangePasswordBody": { "type": "object", "properties": { "oldPassword": { "type": "string" }, "newPassword": { "type": "string" } } }, "authGetTokenRequest": { "type": "object", "properties": { "keyId": { "type": "string", "title": "Секретный ключ." }, "secret": { "type": "string", "title": "Секретный ключ." } }, "description": "Запрос учетных данных для получения токена." }, "authGetTokenResponse": { "type": "object", "properties": { "accessToken": { "type": "string", "description": "Токен для доступа к ресурсам." }, "idToken": { "type": "string", "description": "Токен для идентификации пользователя." }, "refreshToken": { "type": "string", "description": "Токен обновления доступа к данным." }, "expiresIn": { "type": "integer", "format": "int32", "description": "Время в секундах, когда закончится срок действия токена доступа." }, "refreshExpiresIn": { "type": "integer", "format": "int32", "description": "Время в секундах, когда закончится срок действия токена обновления." }, "scopes": { "type": "array", "items": { "type": "string" }, "description": "Список областей, к которым имеет доступ токен." }, "tokenType": { "type": "string", "description": "Тип токена." }, "notBefore": { "type": "integer", "format": "int32", "description": "Время в секундах, когда токен может быть использован." } }, "description": "Ответ на запрос getToken." }, "customersFindUserResponse": { "type": "object", "properties": { "user": { "$ref": "#/definitions/v1customersUser", "title": "Данные пользователя." } }, "title": "Поиск ответа пользователя." }, "customersGetUserResponse": { "type": "object", "properties": { "user": { "$ref": "#/definitions/v1customersUser", "title": "Данные пользователя." } }, "title": "Просмотр запроса пользователя организации." }, "customersInviteUserResponse": { "type": "object", "properties": { "userId": { "type": "string", "title": "Идентификатор созданного пользователя." } }, "title": "Приглашение пользователя в организацию." }, "customersUpdateUserResponse": { "type": "object", "properties": { "user": { "$ref": "#/definitions/v1customersUser", "title": "Данные пользователя." } }, "title": "Обновление ответа пользователя." }, "groupsAddGroupRequest": { "type": "object", "properties": { "name": { "type": "string", "title": "Название группы." }, "description": { "type": "string", "title": "Описание группы." }, "target": { "$ref": "#/definitions/groupsTarget", "title": "Объект, с которым нужно связать группу." } }, "title": "Запрос на создание группы." }, "groupsAddGroupResponse": { "type": "object", "properties": { "group": { "$ref": "#/definitions/groupsGroup", "title": "Создание сущности группы." } }, "title": "Ответ на создание группы." }, "groupsGetGroupResponse": { "type": "object", "properties": { "group": { "$ref": "#/definitions/groupsGroup", "title": "Запрошенная группа." } }, "title": "Получение ответа от группы." }, "groupsGroup": { "type": "object", "properties": { "id": { "type": "string", "title": "Идентификатор группы." }, "name": { "type": "string", "title": "Название группы." }, "description": { "type": "string", "title": "Описание группы." }, "target": { "$ref": "#/definitions/groupsTarget", "title": "Объект, с которым нужно связать группу." }, "createdAt": { "type": "string", "format": "date-time", "title": "Дата создания группы." }, "updatedAt": { "type": "string", "format": "date-time", "title": "Дата обновления группы." } }, "title": "Объект группы." }, "groupsGroupsServiceDeleteUserBody": { "type": "object", "title": "Запрос на удаление пользователя из группы." }, "groupsGroupsServiceUpdateBody": { "type": "object", "properties": { "name": { "type": "string", "title": "Название группы." }, "description": { "type": "string", "title": "Описание группы." } }, "title": "Запрос на обновление группы." }, "groupsHasUserResponse": { "type": "object", "properties": { "groupId": { "type": "string", "title": "Идентификатор группы." }, "userId": { "type": "string", "title": "Идентификатор пользователя." }, "isMember": { "type": "boolean", "title": "Проверка, является ли пользователь членом группы." } }, "title": "Ответ на запрос проверки членства пользователя." }, "groupsListGroupsResponse": { "type": "object", "properties": { "groups": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/groupsGroup" }, "title": "Список найденных групп." }, "limit": { "type": "integer", "format": "int64", "title": "Количество записей на странице." }, "cursor": { "$ref": "#/definitions/v1groupsCursor", "title": "Курсор." } }, "title": "Ответ на запрос списка групп." }, "groupsTarget": { "type": "object", "properties": { "customerId": { "type": "string", "title": "Идентификатор организации." }, "projectId": { "type": "string", "title": "Идентификатор проекта." } }, "title": "Объект, с которым нужно связать группу." }, "groupsUpdateGroupResponse": { "type": "object", "properties": { "group": { "$ref": "#/definitions/groupsGroup", "title": "Обновление объектов группы." } }, "title": "Ответ на запрос обновления группы." }, "permissionsAddPermissionRequest": { "type": "object", "properties": { "role": { "type": "string", "title": "Назначаемая роль." }, "objectId": { "type": "string", "title": "Идентификатор объекта." }, "objectType": { "type": "string", "title": "Тип объекта. Возможные значения: организация, ресурс." }, "subjectId": { "type": "string", "title": "Идентификатор субъекта." }, "subjectType": { "type": "string", "title": "Тип субъекта. Возможные значения: пользователь, группа пользователей, сервисный аккаунт." }, "expiresAt": { "type": "string", "format": "date-time", "title": "Дата окончания срока действия разрешения." } }, "title": "Запрос на добавление разрешения." }, "permissionsBulkEvaluateRequest": { "type": "object", "properties": { "requests": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/permissionsEvaluateRequest" }, "title": "Идентификатор разрешения." } }, "title": "BulkEvaluateRequest - request for bulk evaluate" }, "permissionsBulkEvaluateResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/permissionsEvaluateResult" }, "title": "Results - results for evaluate operations" } }, "title": "BulkEvaluateResponse - response for bulk evaluate" }, "permissionsDeletePermissionRequest": { "type": "object", "properties": { "id": { "$ref": "#/definitions/permissionsPermissionID", "title": "ID - permission identifier" } }, "title": "DeletePermissionRequest - delete permission request" }, "permissionsEvaluateRequest": { "type": "object", "properties": { "action": { "type": "string", "title": "Action - action that is checked" }, "resourceId": { "type": "string", "title": "ResourceId - resource object id for which evaluate should be checked" }, "customerId": { "type": "string", "title": "CustomerID - customer object id for which evaluate should be checked\nOptional. Is supported only if request is made on behalf of user account" }, "userId": { "type": "string", "title": "UserID - user subject id for which evaluate should be checked\nOptional. Is supported only if request is made on behalf of service account" }, "serviceAccountId": { "type": "string", "title": "ServiceAccountID - service account subject id for which evaluate should be checked\nOptional. Is supported only if is made on behalf of service account" } }, "title": "EvaluateRequest - request to evaluate if subject from token has permissions to perform action on object" }, "permissionsEvaluateResponse": { "type": "object", "properties": { "accessGranted": { "type": "boolean", "title": "AccessGranted - true if access is granted" } }, "title": "EvaluateResponse - response to evaluate request" }, "permissionsEvaluateResult": { "type": "object", "properties": { "request": { "$ref": "#/definitions/permissionsEvaluateRequest", "title": "Request - request for witch evaluate operation was performed" }, "accessGranted": { "type": "boolean", "title": "AccessGranted - true if access is granted" } }, "title": "EvaluateResult - result of evaluate operation on evaluate request" }, "permissionsListPermissionsResponse": { "type": "object", "properties": { "permissions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/permissionsPermission" }, "title": "Список разрешений." }, "limit": { "type": "integer", "format": "int64", "title": "Количество записей на странице." }, "before": { "type": "string", "title": "Переход на предыдущую страницу." }, "after": { "type": "string", "title": "Переход на следующую страницу." } }, "title": "Ответ на запрос списка разрешений." }, "permissionsPermission": { "type": "object", "properties": { "role": { "type": "string", "title": "Идентификатор роли." }, "objectId": { "type": "string", "title": "Идентификатор объекта." }, "objectType": { "type": "string", "title": "Тип объекта. Возможные значения: организация, ресурс." }, "subjectId": { "type": "string", "title": "Идентификатор субъекта." }, "subjectType": { "type": "string", "title": "Тип субъекта. Возможные значения: пользователь, группа пользователей, сервисный аккаунт." }, "enabled": { "type": "boolean", "title": "Разрешение включено." }, "createdAt": { "type": "string", "format": "date-time", "title": "Дата создания." }, "updatedAt": { "type": "string", "format": "date-time", "title": "Дата последнего изменения." }, "expiresAt": { "type": "string", "format": "date-time", "title": "Дата окончания срока действия разрешения." } }, "title": "Разрешение." }, "permissionsPermissionID": { "type": "object", "properties": { "role": { "type": "string", "title": "Идентификатор роли." }, "objectId": { "type": "string", "title": "Идентификатор объекта." }, "objectType": { "type": "string", "title": "Тип объекта. Возможные значения: организация, ресурс." }, "subjectId": { "type": "string", "title": "Идентификатор субъекта." }, "subjectType": { "type": "string", "title": "Тип субъекта. Возможные значения: пользователь, группа пользователей, сервисный аккаунт." } }, "title": "Идентификатор разрешения." }, "projectsListProjectUsersResponse": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v1projectsUser" }, "title": "Список пользователей проекта." }, "limit": { "type": "integer", "format": "int64", "description": "Количество записей на странице." }, "cursor": { "$ref": "#/definitions/v1projectsCursor", "description": "Переход на предыдущую и следующую страницу." } }, "title": "Ответ на запрос пользователей проекта." }, "protobufAny": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "rpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/protobufAny" } } } }, "service_accountsAPIKey": { "type": "object", "properties": { "id": { "type": "string", "title": "Идентификатор ключа." }, "name": { "type": "string", "title": "Имя ключа." }, "description": { "type": "string", "title": "Описание ключа." }, "serviceAccountId": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "products": { "type": "array", "items": { "type": "string" }, "title": "Список названий продуктов, с которыми может работать ключ." }, "secret": { "type": "string", "description": "@gotags: secret:\"true\"", "title": "Секретный ключ. Возвращается только при создании ключа." }, "restrictions": { "$ref": "#/definitions/service_accountsRestrictions", "title": "Ограничения ключа." }, "enabled": { "type": "boolean", "title": "Флаг активности ключа." }, "createdAt": { "type": "string", "format": "date-time", "title": "Дата создания ключа." }, "updatedAt": { "type": "string", "format": "date-time", "title": "Дата обновления ключа." }, "expiresAt": { "type": "string", "format": "date-time", "title": "Дата окончания срока действия ключа." } }, "title": "API-ключ сервисного аккаунта." }, "service_accountsAPIKeyFilter": { "type": "object", "properties": { "serviceAccountId": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "enabled": { "type": "boolean", "title": "Флаг активности ключа." } }, "description": "Фильтр для получения списка API-ключей." }, "service_accountsAccessKey": { "type": "object", "properties": { "id": { "type": "string", "title": "Идентификатор ключа." }, "serviceAccountId": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "description": { "type": "string", "title": "Описание." }, "keyId": { "type": "string", "description": "Секретный ключ.", "title": "Логин для получения токена." }, "createdAt": { "type": "string", "format": "date-time", "title": "Дата создания записи." }, "expiredAt": { "type": "string", "format": "date-time", "title": "Дата окончания действия ключа." } }, "title": "Ключ доступа без секрета." }, "service_accountsAddAPIKeyRequest": { "type": "object", "properties": { "name": { "type": "string", "title": "Имя ключа: от 1 до 256 символов, может содержать латинские буквы в нижнем и верхнем регистрах, цифры, дефис, подчеркивание, точку, пробел." }, "description": { "type": "string", "title": "Описание ключа: может содержать буквы unicode в разных регистрах, цифры, знаки пунктуации unicode и пробелы." }, "serviceAccountId": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "products": { "type": "array", "items": { "type": "string" }, "title": "Список названий продуктов, для которых будет использоваться ключ: до 100 продуктов." }, "restrictions": { "$ref": "#/definitions/service_accountsRestrictions", "title": "Ограничения ключа." }, "enabled": { "type": "boolean", "title": "Флаг активности ключа." }, "expiresAt": { "type": "string", "format": "date-time", "title": "Дата окончания срока действия ключа. Если не указана, то выставляется значение по умолчанию (1 год). Максимальный срок действия ключа - 1 год." } }, "description": "Запрос на добавление API-ключа." }, "service_accountsAddAccessKeyRequest": { "type": "object", "properties": { "serviceAccountId": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "description": { "type": "string", "title": "Описание." }, "ttl": { "type": "string", "description": "h - часы, m - минуты, s - секунды.", "title": "Ttl - время жизни ключа. Указывается в формате duration, например: 5h - 5 часов, 1m - 1 минута, 10s - 10 секунд." } }, "title": "Запрос на добавление ключа доступа для сервисного аккаунта." }, "service_accountsAddAccessKeyResponse": { "type": "object", "properties": { "id": { "type": "string", "title": "IИдентификатор ключа." }, "serviceAccountId": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "description": { "type": "string", "title": "Описание." }, "keyId": { "type": "string", "description": "Секретный ключ.", "title": "Логин для получения токена." }, "secret": { "type": "string", "description": "Секретный ключ.", "title": "Зашифрованная строка. Пароль для получения токена. Секрет отображается только при создании ключа." }, "createdAt": { "type": "string", "format": "date-time", "title": "Дата создания записи." }, "expiredAt": { "type": "string", "format": "date-time", "title": "Дата окончания действия ключа." } }, "title": "Ответ на запрос добавления ключа доступа." }, "service_accountsAddServiceAccountRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "Название сервисного аккаунта." }, "description": { "type": "string", "title": "Описание." }, "projectId": { "type": "string", "title": "Идентификатор ресурса типа `project`, для которого добавляется сервисный аккаунт." } }, "title": "Запрос на создание сервисного аккаунта." }, "service_accountsAddServiceAccountResponse": { "type": "object", "properties": { "serviceAccount": { "$ref": "#/definitions/service_accountsServiceAccount", "title": "Создание сервисного аккаунта." } }, "title": "Ответ на запрос добавления сервисного аккаунта." }, "service_accountsGetAccessKeyResponse": { "type": "object", "properties": { "key": { "$ref": "#/definitions/service_accountsAccessKey", "title": "Ключ доступа, не содержит secret." } }, "title": "Ответ на запрос получения ключа доступа." }, "service_accountsGetServiceAccountResponse": { "type": "object", "properties": { "serviceAccount": { "$ref": "#/definitions/service_accountsServiceAccount", "title": "Сервисный аккаунт." } }, "title": "Ответ на запрос получения сервисного аккаунта." }, "service_accountsIPAddresses": { "type": "object", "properties": { "ipAddresses": { "type": "array", "items": { "type": "string" }, "title": "IP-адреса и подсети в формате CIDR." } }, "title": "Список IP-адресов." }, "service_accountsListAPIKeysResponse": { "type": "object", "properties": { "keys": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/service_accountsAPIKey" }, "title": "Список API-ключей." } }, "description": "Список найденных API-ключей." }, "service_accountsListAccessKeyResponse": { "type": "object", "properties": { "accessKeys": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/service_accountsAccessKey" }, "title": "Список ключей доступа." } }, "title": "Ответ на запрос получения списка ключей доступа для сервисного аккаунта." }, "service_accountsListProductsResponse": { "type": "object", "properties": { "products": { "type": "array", "items": { "type": "string" }, "title": "Список доступных продуктов." } }, "description": "Список доступных продуктов." }, "service_accountsRestrictions": { "type": "object", "properties": { "ipAddresses": { "$ref": "#/definitions/service_accountsIPAddresses", "title": "Список разрешенных IP-адресов и подсетей в формате CIDR. До 100 адресов и подсетей." }, "timeRange": { "$ref": "#/definitions/service_accountsTimeRange", "title": "Временной диапазон, в который может использоваться ключ. Не больше 24 интервалов." } }, "title": "Ограничения ключа." }, "service_accountsServiceAccount": { "type": "object", "properties": { "id": { "type": "string", "title": "Идентификатор сервисного аккаунта." }, "namespaceId": { "type": "string", "title": "Область видимости." }, "name": { "type": "string", "description": "Название сервисного аккаунта. Уникально для namespace_id." }, "email": { "type": "string", "description": "Электронная почта сервисного аккаунта." }, "description": { "type": "string", "title": "Описание." }, "useRefreshTokens": { "type": "boolean", "title": "Выпускать обновления токена или нет (по умолчанию false)." }, "enabled": { "type": "boolean", "title": "Включен или выключен сервисный аккаунт." }, "createdAt": { "type": "string", "format": "date-time", "title": "Дата создания записи." }, "updatedAt": { "type": "string", "format": "date-time", "title": "Дата обновления записи." } }, "title": "Информация о сервисном аккаунте." }, "service_accountsTimeRange": { "type": "object", "properties": { "timeSlots": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/TimeRangeTimeSlot" }, "title": "Список интервалов времени." }, "timezone": { "type": "integer", "format": "int32", "title": "Временная зона. Число от -12 до 12." } }, "title": "Диапазон времени." }, "service_accountsUpdateAPIKeyEntity": { "type": "object", "properties": { "id": { "type": "string", "title": "Идентификатор ключа." }, "name": { "type": "string", "title": "Имя ключа: от 1 до 256 символов, может содержать латинские буквы в нижнем и верхнем регистрах, цифры, дефис, подчеркивание, точку, пробел." }, "description": { "type": "string", "title": "Описание ключа: может содержать буквы unicode в разных регистрах, цифры, знаки пунктуации unicode и пробелы." }, "products": { "type": "array", "items": { "type": "string" }, "title": "Список продуктов, для которых будет использоваться ключ: до 100 продуктов." }, "restrictions": { "$ref": "#/definitions/service_accountsRestrictions", "title": "Ограничения ключа." }, "enabled": { "type": "boolean", "title": "Флаг активности ключа." } }, "description": "Модель для обновления API-ключа." }, "service_accountsUpdateAPIKeyRequest": { "type": "object", "properties": { "key": { "$ref": "#/definitions/service_accountsUpdateAPIKeyEntity", "title": "Обновленный API-ключ." }, "paths": { "type": "string", "title": "Список свойств API-ключа, которые необходимо обновить. Возможные значения: название, описание, ограничения, включения, продукты." } }, "description": "Запрос на обновление API-ключа." }, "v1customersCursor": { "type": "object", "properties": { "before": { "type": "string", "title": "Переход на предыдущую страницу." }, "after": { "type": "string", "title": "Переход на следующую страницу." } }, "title": "Разбивка записей по страницам." }, "v1customersListUsersResponse": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v1customersUser" }, "title": "Список пользователей проекта." }, "limit": { "type": "integer", "format": "int64", "title": "Количество записей на странице." }, "cursor": { "$ref": "#/definitions/v1customersCursor", "title": "Разбивка записей по страницам." } }, "title": "Список ответов на запрос пользователей." }, "v1customersUser": { "type": "object", "properties": { "userId": { "type": "string", "title": "Идентификатор пользователя." }, "username": { "type": "string", "title": "ФИО пользователя." }, "email": { "type": "string", "title": "Электронная почта пользователя." }, "firstName": { "type": "string", "title": "Имя пользователя." }, "lastName": { "type": "string", "title": "Фамилия пользователя." }, "middleName": { "type": "string", "title": "Отчество пользователя." }, "enabled": { "type": "boolean", "title": "Флаг активности пользователя." }, "accountType": { "$ref": "#/definitions/v1customersUserAccountType", "title": "Тип учетной записи пользователя. Возможные варианты: федеративная, локальная." } }, "title": "Данные пользователя." }, "v1customersUserAccountType": { "type": "string", "enum": [ "USER_ACCOUNT_TYPE_UNDEFINED", "USER_ACCOUNT_TYPE_FEDERATED", "USER_ACCOUNT_TYPE_LOCAL" ], "default": "USER_ACCOUNT_TYPE_UNDEFINED", "title": "Тип учетной записи пользователя." }, "v1groupsCursor": { "type": "object", "properties": { "before": { "type": "string", "title": "Переход на предыдущую страницу." }, "after": { "type": "string", "title": "Переход на следующую страницу." } }, "title": "Разбивка записей по страницам." }, "v1groupsListUsersResponse": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v1groupsUser" }, "title": "Список пользователей, которые являются членами группы." }, "limit": { "type": "integer", "format": "int64", "title": "Количество записей на странице." }, "cursor": { "$ref": "#/definitions/v1groupsCursor", "title": "Разбивка записей по страницам." } }, "title": "Ответ на запрос списков групп пользователей." }, "v1groupsUser": { "type": "object", "properties": { "userId": { "type": "string", "title": "Идентификатор пользователя." }, "username": { "type": "string", "title": "ФИО пользователя." }, "email": { "type": "string", "title": "Электронная почта пользователя." }, "firstName": { "type": "string", "title": "Имя пользователя." }, "lastName": { "type": "string", "title": "Фамилия пользователя." }, "middleName": { "type": "string", "title": "Отчество пользователя." }, "enabled": { "type": "boolean", "title": "Флаг активности пользователя." }, "accountType": { "$ref": "#/definitions/v1groupsUserAccountType", "title": "Тип учетной записи пользователя: федеративная, локальная." } }, "title": "Данные пользователя." }, "v1groupsUserAccountType": { "type": "string", "enum": [ "USER_ACCOUNT_TYPE_UNDEFINED", "USER_ACCOUNT_TYPE_FEDERATED", "USER_ACCOUNT_TYPE_LOCAL" ], "default": "USER_ACCOUNT_TYPE_UNDEFINED", "title": "Тип учетной записи пользователя." }, "v1projectsCursor": { "type": "object", "properties": { "before": { "type": "string", "title": "Переход на предыдущую страницу." }, "after": { "type": "string", "title": "Переход на следующую страницу." } }, "title": "Разбивка записей по страницам." }, "v1projectsUser": { "type": "object", "properties": { "id": { "type": "string", "title": "Идентификатор пользователя." }, "email": { "type": "string", "title": "Электронная почта пользователя." }, "userName": { "type": "string", "title": "Имя пользователя." } }, "title": "Информация по проектам пользователя." } } }