{ "schemes": [ "http", "https" ], "swagger": "2.0", "info": { "description": "API Gateway для системы Molva - платформы для управления вакансиями и агентами", "title": "Molva API Gateway", "termsOfService": "http://swagger.io/terms/", "contact": { "name": "API Support", "url": "http://www.swagger.io/support", "email": "support@swagger.io" }, "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" }, "version": "1.0" }, "host": "dev-molva.ru", "basePath": "/", "paths": { "/api/v1/agents/{agent_id}/balance": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение текущего баланса агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить баланс агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Баланс агента", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BalanceGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/bank_accounts": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка банковских счетов агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить список банковских счетов агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список банковских счетов", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountListGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание нового банковского счета для агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Создать банковский счет агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "description": "Данные банковского счета", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountCreateRequest" } } ], "responses": { "201": { "description": "Банковский счет создан", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/bank_accounts/{bank_account_id}": { "put": { "security": [ { "BearerAuth": [] } ], "description": "Обновление информации о банковском счете агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Обновить банковский счет агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID банковского счета", "name": "bank_account_id", "in": "path", "required": true }, { "description": "Данные для обновления", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountUpdateRequest" } } ], "responses": { "200": { "description": "Банковский счет обновлен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "description": "Удаление банковского счета агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Удалить банковский счет агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID банковского счета", "name": "bank_account_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Банковский счет удален", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/companies": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка всех компаний, принадлежащих агенту", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить список компаний агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список компаний", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyListGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/company": { "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание новой компании для агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Создать компанию", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "description": "Данные для создания компании", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyCreateRequest" } } ], "responses": { "201": { "description": "Компания создана", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/company/{company_id}": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение детальной информации о компании агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить компанию по ID", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Информация о компании", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyByIdGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Компания не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/profile": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение профиля агента по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить профиль агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Профиль агента", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ProfileGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "put": { "security": [ { "BearerAuth": [] } ], "description": "Обновление профиля агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Обновить профиль агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "description": "Данные для обновления профиля", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ProfileUpdateRequest" } } ], "responses": { "200": { "description": "Профиль обновлен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/submissions": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка заявок агента с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить список заявок агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "query" }, { "type": "string", "description": "Статус заявки", "name": "status", "in": "query" }, { "type": "integer", "description": "Номер страницы", "name": "page", "in": "query" }, { "type": "integer", "description": "Размер страницы", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "Список заявок", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionListGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/submissions/{submission_id}": { "delete": { "security": [ { "BearerAuth": [] } ], "description": "Удаление заявки агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Удалить заявку агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID заявки", "name": "submission_id", "in": "path", "required": true } ], "responses": { "204": { "description": "Заявка удалена" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Заявка не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/submissions/{submission_id}/cv": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение CV файла заявки", "consumes": [ "application/json" ], "produces": [ "application/octet-stream" ], "tags": [ "agents" ], "summary": "Получить CV заявки", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID заявки", "name": "submission_id", "in": "path", "required": true } ], "responses": { "200": { "description": "CV файл", "schema": { "type": "file" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "CV не найден", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/transactions": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка транзакций агента с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить список транзакций агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список транзакций", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionListGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание новой транзакции для агента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Создать транзакцию агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "description": "Данные транзакции", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionCreateRequest" } } ], "responses": { "201": { "description": "Транзакция создана", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/vacancies": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка вакансий с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить список вакансий для агента", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "query" }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "query" }, { "type": "string", "description": "Регион", "name": "region", "in": "query" }, { "type": "integer", "description": "Минимальная зарплата", "name": "salary_bottom", "in": "query" }, { "type": "integer", "description": "Максимальная зарплата", "name": "salary_top", "in": "query" }, { "type": "boolean", "description": "Архивные вакансии", "name": "is_archived", "in": "query" }, { "type": "string", "description": "Статус вакансии", "name": "status", "in": "query" }, { "type": "integer", "description": "Номер страницы", "name": "page", "in": "query" }, { "type": "integer", "description": "Размер страницы", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "Список вакансий", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyListGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/agents/{agent_id}/vacancies/{vacancy_id}": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение персональной ссылки агента для вакансии", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "agents" ], "summary": "Получить персональную ссылку", "parameters": [ { "type": "string", "description": "ID агента", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Персональная ссылка", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_types.PersonalLinkResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/anketa": { "get": { "description": "Получение HTML формы анкеты для клиента", "consumes": [ "application/json" ], "produces": [ "text/html" ], "tags": [ "clients" ], "summary": "Получить анкету", "parameters": [ { "type": "string", "description": "Зашифрованная ссылка с параметрами", "name": "link", "in": "query", "required": true } ], "responses": { "200": { "description": "HTML форма анкеты", "schema": { "type": "string" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Вакансия не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "description": "Отправка заполненной анкеты клиента", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "clients" ], "summary": "Отправить анкету", "parameters": [ { "description": "Данные анкеты", "name": "request", "in": "body", "required": true, "schema": { "type": "object", "additionalProperties": true } } ], "responses": { "201": { "description": "Анкета отправлена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/companies/{company_id}/employees": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка сотрудников компании", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "employees" ], "summary": "Получить список сотрудников компании", "parameters": [ { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true }, { "type": "string", "description": "ID пользователя", "name": "uid", "in": "query", "required": true } ], "responses": { "200": { "description": "Список сотрудников", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.EmployeeResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/confirm_email": { "get": { "description": "HTML страница для подтверждения email адреса пользователя", "consumes": [ "text/html" ], "produces": [ "text/html" ], "tags": [ "auth" ], "summary": "Страница подтверждения email", "parameters": [ { "type": "string", "description": "ID пользователя", "name": "uid", "in": "query", "required": true }, { "type": "string", "description": "Токен подтверждения", "name": "token", "in": "query", "required": true } ], "responses": { "200": { "description": "HTML страница подтверждения", "schema": { "type": "string" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/balance": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение текущего баланса дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить баланс дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Баланс дистрибьютора", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BalanceGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/bank_accounts": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка банковских счетов дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список банковских счетов дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список банковских счетов", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountListGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/bank_accounts/{bank_account_id}": { "put": { "security": [ { "BearerAuth": [] } ], "description": "Обновление информации о банковском счете дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Обновить банковский счет дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID банковского счета", "name": "bank_account_id", "in": "path", "required": true }, { "description": "Данные для обновления", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountUpdateRequest" } } ], "responses": { "200": { "description": "Банковский счет обновлен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "description": "Удаление банковского счета дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Удалить банковский счет дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID банковского счета", "name": "bank_account_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Банковский счет удален", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/companies": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка всех компаний, принадлежащих дистрибьютору", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список компаний дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список компаний", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyListGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/company": { "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание новой компании для дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Создать компанию дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "description": "Данные для создания компании", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyCreateRequest" } } ], "responses": { "201": { "description": "Компания создана", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/company/{company_id}": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение детальной информации о компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить компанию дистрибьютора по ID", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Информация о компании", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyByIdGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Компания не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Добавление нового участника в компанию дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Добавить участника в компанию", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true }, { "description": "Данные участника", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.AddDistributorCompanyMemberRequest" } } ], "responses": { "201": { "description": "Участник добавлен" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Компания не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "patch": { "security": [ { "BearerAuth": [] } ], "description": "Обновление информации о компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Обновить компанию дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true }, { "description": "Данные для обновления", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyUpdateRequest" } } ], "responses": { "204": { "description": "Компания обновлена" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Компания не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/company/{company_id}/balance": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение баланса конкретной компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить баланс компании дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Баланс компании", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BalanceGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/company/{company_id}/bank_accounts": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка банковских счетов конкретной компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список банковских счетов компании дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список банковских счетов компании", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountListGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание нового банковского счета для компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Создать банковский счет компании дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true }, { "description": "Данные банковского счета", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountCreateRequest" } } ], "responses": { "201": { "description": "Банковский счет создан", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/company/{company_id}/logo": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение логотипа компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить логотип компании", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Логотип компании", "schema": { "type": "file" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Логотип не найден", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "put": { "security": [ { "BearerAuth": [] } ], "description": "Обновление логотипа компании дистрибьютора", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Обновить логотип компании", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true }, { "type": "file", "description": "Новый файл логотипа", "name": "logo", "in": "formData", "required": true } ], "responses": { "200": { "description": "Логотип обновлен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Загрузка нового логотипа для компании дистрибьютора", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Создать логотип компании", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true }, { "type": "file", "description": "Файл логотипа", "name": "logo", "in": "formData", "required": true } ], "responses": { "201": { "description": "Логотип загружен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "description": "Удаление логотипа компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Удалить логотип компании", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Логотип удален", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/company/{company_id}/transactions": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка транзакций конкретной компании дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список транзакций компании дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список транзакций компании", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionListGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/profile": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение профиля дистрибьютора по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить профиль дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Профиль дистрибьютора", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ProfileGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "put": { "security": [ { "BearerAuth": [] } ], "description": "Обновление профиля дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Обновить профиль дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "description": "Данные для обновления профиля", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ProfileUpdateRequest" } } ], "responses": { "200": { "description": "Профиль обновлен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/transactions": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка транзакций дистрибьютора с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список транзакций дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Список транзакций", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionListGetResponse" } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание новой транзакции для дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Создать транзакцию дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "description": "Данные транзакции", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionCreateRequest" } } ], "responses": { "201": { "description": "Транзакция создана", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/vacancies": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка вакансий дистрибьютора с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список вакансий дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID компании", "name": "company_id", "in": "query" }, { "type": "string", "description": "Регион", "name": "region", "in": "query" }, { "type": "integer", "description": "Минимальная зарплата", "name": "salary_bottom", "in": "query" }, { "type": "integer", "description": "Максимальная зарплата", "name": "salary_top", "in": "query" }, { "type": "boolean", "description": "Архивные вакансии", "name": "is_archived", "in": "query" }, { "type": "string", "description": "Статус вакансии", "name": "status", "in": "query" }, { "type": "integer", "description": "Номер страницы", "name": "page", "in": "query" }, { "type": "integer", "description": "Размер страницы", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "Список вакансий", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyListGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "description": "Создание новой вакансии дистрибьютором", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Создать вакансию", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "description": "Данные для создания вакансии", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyCreateRequest" } } ], "responses": { "201": { "description": "Вакансия создана", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyCreateResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/vacancies/{vacancy_id}": { "delete": { "security": [ { "BearerAuth": [] } ], "description": "Удаление вакансии дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Удалить вакансию", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "path", "required": true } ], "responses": { "204": { "description": "Вакансия удалена" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Вакансия не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "patch": { "security": [ { "BearerAuth": [] } ], "description": "Обновление информации о вакансии дистрибьютора", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Обновить вакансию", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "path", "required": true }, { "description": "Данные для обновления", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyUpdateRequest" } } ], "responses": { "204": { "description": "Вакансия обновлена" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Вакансия не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/vacancies/{vacancy_id}/moderation": { "post": { "security": [ { "BearerAuth": [] } ], "description": "Отправка вакансии дистрибьютора на модерацию", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Отправить вакансию на модерацию", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Вакансия отправлена на модерацию", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/vacancies/{vacancy_id}/submissions": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение списка заявок дистрибьютора с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Получить список заявок дистрибьютора", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "path", "required": true }, { "type": "string", "description": "Статус заявки", "name": "status", "in": "query" }, { "type": "integer", "description": "Номер страницы", "name": "page", "in": "query" }, { "type": "integer", "description": "Размер страницы", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "Список заявок", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionListGetResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/distributor/{distributor_id}/vacancies/{vacancy_id}/submissions/{submission_id}/status": { "post": { "security": [ { "BearerAuth": [] } ], "description": "Обновление статуса заявки дистрибьютором", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "distributors" ], "summary": "Обновить статус заявки", "parameters": [ { "type": "string", "description": "ID дистрибьютора", "name": "distributor_id", "in": "path", "required": true }, { "type": "string", "description": "ID вакансии", "name": "vacancy_id", "in": "path", "required": true }, { "type": "string", "description": "ID заявки", "name": "submission_id", "in": "path", "required": true }, { "description": "Новый статус заявки", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionStatusUpdateRequest" } } ], "responses": { "200": { "description": "Статус обновлен" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "Заявка не найдена", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/docs/{file}": { "get": { "description": "Получение файла документа по имени", "consumes": [ "application/json" ], "produces": [ "application/octet-stream" ], "tags": [ "system" ], "summary": "Получить файл документа", "parameters": [ { "type": "string", "description": "Имя файла", "name": "file", "in": "path", "required": true } ], "responses": { "200": { "description": "Файл документа", "schema": { "type": "file" } }, "404": { "description": "Файл не найден", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/feed/{uid}/events": { "get": { "security": [ { "BearerAuth": [] } ], "description": "Получение ленты событий пользователя с возможностью фильтрации", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "feed" ], "summary": "Получить события пользователя", "parameters": [ { "type": "string", "description": "ID пользователя", "name": "uid", "in": "path", "required": true }, { "type": "string", "description": "Тип пользователя (agent/distributor)", "name": "user_type", "in": "query", "required": true }, { "type": "string", "description": "Тип события (через запятую)", "name": "event_type", "in": "query" }, { "type": "boolean", "description": "Показывать отмененные события", "name": "show_cancelled", "in": "query" }, { "type": "integer", "description": "Лимит событий", "name": "limit", "in": "query" }, { "type": "integer", "description": "Смещение", "name": "offset", "in": "query" } ], "responses": { "200": { "description": "Список событий", "schema": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.Event" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неавторизованный доступ", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/forgot_password": { "post": { "description": "Отправка OTP кода на email для восстановления пароля", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Запрос восстановления пароля", "parameters": [ { "description": "Данные для восстановления пароля", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ForgotPasswordRequest" } } ], "responses": { "200": { "description": "OTP код отправлен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/healthcheck": { "get": { "description": "Получение информации о версии, коммите и дате сборки приложения", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "system" ], "summary": "Получить информацию о сборке", "responses": { "200": { "description": "Информация о сборке", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/integration/vkusvill/callback": { "post": { "description": "Обработка callback запросов от интеграции с ВкусВилл", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "integration" ], "summary": "Callback интеграции с ВкусВилл", "parameters": [ { "description": "Данные callback от ВкусВилл", "name": "request", "in": "body", "required": true, "schema": { "type": "object", "additionalProperties": true } } ], "responses": { "200": { "description": "Callback обработан", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/login": { "post": { "description": "Аутентификация пользователя по email и паролю", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Вход пользователя", "parameters": [ { "description": "Данные для входа", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.LoginUserRequest" } } ], "responses": { "200": { "description": "Успешная аутентификация", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.LoginUserResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неверные учетные данные", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/logout": { "post": { "description": "Завершение сессии пользователя", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Выход пользователя", "parameters": [ { "description": "Токен для выхода", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.LogoutUserRequest" } } ], "responses": { "200": { "description": "Успешный выход" }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неверный токен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/refresh-token": { "post": { "description": "Получение нового access token по refresh token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Обновление токена доступа", "parameters": [ { "description": "Refresh token", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.RefreshTokenRequest" } } ], "responses": { "200": { "description": "Новые токены", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.RefreshTokenResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Неверный refresh token", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/register": { "post": { "description": "Создание нового пользователя в системе", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Регистрация пользователя", "parameters": [ { "description": "Данные для регистрации", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.UserCredentials" } } ], "responses": { "201": { "description": "Пользователь успешно создан", "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.RegisterResponse" } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "409": { "description": "Пользователь уже существует", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/reset_password": { "put": { "description": "Установка нового пароля после валидации OTP кода", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Сброс пароля", "parameters": [ { "description": "Данные для сброса пароля", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ResetPasswordRequest" } } ], "responses": { "200": { "description": "Пароль успешно изменен", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные данные запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/validate_otp": { "get": { "description": "Проверка OTP кода для восстановления пароля", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Валидация OTP кода", "parameters": [ { "type": "string", "description": "OTP код", "name": "otp", "in": "query", "required": true }, { "type": "string", "description": "Email пользователя", "name": "email", "in": "query", "required": true } ], "responses": { "200": { "description": "OTP код валиден", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/verify_email": { "get": { "description": "Получение статуса подтверждения email адреса пользователя", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Статус подтверждения email", "parameters": [ { "type": "string", "description": "ID пользователя", "name": "uid", "in": "query", "required": true } ], "responses": { "200": { "description": "Статус подтверждения email", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "patch": { "description": "Подтверждение email адреса пользователя по токену", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "auth" ], "summary": "Подтверждение email", "parameters": [ { "type": "string", "description": "ID пользователя", "name": "uid", "in": "query", "required": true }, { "type": "string", "description": "Токен подтверждения", "name": "token", "in": "query", "required": true } ], "responses": { "200": { "description": "Email успешно подтвержден", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/{uid}/validation": { "get": { "description": "Получение статуса валидации пользователя по UID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "system" ], "summary": "Получить статус валидации пользователя", "parameters": [ { "type": "string", "description": "UID пользователя", "name": "uid", "in": "path", "required": true } ], "responses": { "200": { "description": "Статус валидации", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Неверные параметры запроса", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Внутренняя ошибка сервера", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } } }, "definitions": { "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_constants.PermissionValue": { "type": "string", "enum": [ "no_permission", "can_view", "can_edit" ], "x-enum-varnames": [ "NoPermission", "CanView", "CanEdit" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.AttachmentType": { "type": "string", "enum": [ "vacancy", "cv", "profile", "company", "bank_account", "submission" ], "x-enum-varnames": [ "AttachmentTypeVacancy", "AttachmentTypeCV", "AttachmentTypeProfile", "AttachmentTypeCompany", "AttachmentTypeBankAccount", "AttachmentTypeSubmission" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.Event": { "type": "object", "properties": { "cancellation_reason": { "type": "string" }, "company_id": { "type": "string" }, "created_at": { "type": "string" }, "event_type": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.EventType" }, "id": { "type": "string" }, "is_cancelled": { "type": "boolean" }, "message": { "type": "string" }, "owner_id": { "type": "string" }, "owner_type": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.UserRole" }, "payload": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.EventPayload" }, "updated_at": { "type": "string" }, "visibility": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.Visibility" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.EventPayload": { "type": "object", "properties": { "additional_receiver": { "description": "may be uid or company id", "type": "string" }, "attachment_id": { "type": "string" }, "attachment_type": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.AttachmentType" }, "custom_data": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.EventType": { "type": "string", "enum": [ "welcome", "new_company_member", "profile_changed", "company_created", "company_changed", "vacancy_created", "vacancy_changed", "vacancy_moderation_sent", "submission_status_changed", "transaction_created", "bank_details_changed", "bank_account_created", "post_anketa" ], "x-enum-varnames": [ "EventWelcome", "EventNewCompanyMember", "EventProfileChanged", "EventCompanyCreated", "EventCompanyChanged", "EventVacancyCreated", "EventVacancyChanged", "EventVacancyModerationSent", "EventSubmissionStatusChanged", "EventTransactionCreated", "EventBankAccountChanged", "EventBankAccountCreated", "EventPostAnketa" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.UserRole": { "type": "string", "enum": [ "agent", "distributor" ], "x-enum-varnames": [ "RoleAgent", "RoleDistributor" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_feed.Visibility": { "type": "string", "enum": [ "public", "private", "company_wide" ], "x-enum-comments": { "VisibilityCompanyWide": "Показывается всем в компании", "VisibilityPrivate": "Показывается только инициатору события", "VisibilityPublic": "Показывается всем агентам(инициатор может быть только дистр)" }, "x-enum-varnames": [ "VisibilityPublic", "VisibilityPrivate", "VisibilityCompanyWide" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.AddDistributorCompanyMemberRequest": { "type": "object", "properties": { "companyId": { "type": "string" }, "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.AgentInfo": { "type": "object", "properties": { "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Balance": { "type": "object", "properties": { "clean_balance": { "type": "integer" }, "raw_balance": { "type": "integer" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BalanceGetResponse": { "type": "object", "properties": { "balance": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Balance" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccount": { "type": "object", "properties": { "account_name": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bik": { "type": "string" }, "correspondent_account": { "type": "string" }, "created_at": { "type": "string" }, "id": { "type": "string" }, "owner_id": { "type": "string" }, "updated_at": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountCreateRequest": { "type": "object", "properties": { "account_name": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bik": { "type": "string" }, "correspondent_account": { "type": "string" }, "is_primary": { "type": "boolean" }, "ownerId": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountCreateResponse": { "type": "object", "properties": { "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountInfo": { "type": "object", "properties": { "account_name": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bik": { "type": "string" }, "correspondent_account": { "type": "string" }, "id": { "type": "string" }, "owner_type": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountListGetResponse": { "type": "object", "properties": { "bank_accounts": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccount" } } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountUpdateRequest": { "type": "object", "properties": { "account_name": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bik": { "type": "string" }, "correspondent_account": { "type": "string" }, "id": { "type": "string" }, "is_primary": { "type": "boolean" }, "ownerId": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CandidateInfo": { "type": "object", "properties": { "birthday": { "type": "string" }, "cv_link": { "type": "string" }, "email": { "type": "string" }, "first_name": { "type": "string" }, "id": { "type": "string" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "phone_number": { "type": "string" }, "resume": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Company": { "type": "object", "properties": { "description": { "type": "string" }, "extra_fields_template": { "type": "string" }, "has_moderation_ticket": { "type": "boolean" }, "id": { "type": "string" }, "inn": { "type": "string" }, "is_active": { "type": "boolean" }, "kpp": { "type": "string" }, "legal_address": { "type": "string" }, "legal_person": { "type": "string" }, "metadata": { "type": "string" }, "name": { "type": "string" }, "owner_id": { "type": "string" }, "physical_address": { "type": "string" }, "staff": { "type": "array", "items": { "type": "string" } }, "website": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyByIdGetResponse": { "type": "object", "properties": { "company": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Company" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyCreateRequest": { "type": "object", "properties": { "description": { "type": "string" }, "extra_fields_template": { "type": "string" }, "inn": { "type": "string" }, "kpp": { "type": "string" }, "legal_address": { "type": "string" }, "legal_person": { "type": "string" }, "metadata": { "type": "string" }, "name": { "type": "string" }, "ownerId": { "type": "string" }, "physical_address": { "type": "string" }, "staff": { "type": "array", "items": { "type": "string" } }, "website": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyCreateResponse": { "type": "object", "properties": { "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyListGetResponse": { "type": "object", "properties": { "companies": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Company" } } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CompanyUpdateRequest": { "type": "object", "properties": { "description": { "type": "string" }, "extra_fields": { "type": "string" }, "id": { "type": "string" }, "inn": { "type": "string" }, "kpp": { "type": "string" }, "legal_address": { "type": "string" }, "legal_person": { "type": "string" }, "metadata": { "type": "string" }, "name": { "type": "string" }, "physical_address": { "type": "string" }, "staff": { "type": "array", "items": { "type": "string" } }, "website": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.EmployeeResponse": { "type": "object", "properties": { "company_id": { "type": "string" }, "employees": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_types.Employee" } } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ForgotPasswordRequest": { "type": "object", "properties": { "email": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.LoginUserRequest": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.LoginUserResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "email_confirmed": { "type": "boolean" }, "permissions": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Permissions" }, "refresh_token": { "type": "string" }, "uid": { "type": "string" }, "user_type": { "type": "integer" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.LogoutUserRequest": { "type": "object", "properties": { "refresh_token": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Permissions": { "type": "object", "properties": { "balance": { "type": "string" }, "company": { "type": "string" }, "employees": { "type": "string" }, "profile": { "type": "string" }, "submissions": { "type": "string" }, "vacancies": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Profile": { "type": "object", "properties": { "email": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "phone_number": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ProfileGetResponse": { "type": "object", "properties": { "profile": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Profile" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ProfileUpdateRequest": { "type": "object", "properties": { "email": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "phone_number": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.RefreshTokenRequest": { "type": "object", "properties": { "refresh_token": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.RefreshTokenResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.RegisterResponse": { "type": "object", "properties": { "uid": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.ResetPasswordRequest": { "type": "object", "properties": { "email": { "type": "string" }, "new_password": { "type": "string" }, "token": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Submission": { "type": "object", "properties": { "agent_info": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.AgentInfo" }, "candidate_info": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.CandidateInfo" }, "id": { "type": "string" }, "status": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionStatus" }, "vacancy_info": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyInfo" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionListGetResponse": { "type": "object", "properties": { "submissions": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Submission" } } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionStatus": { "type": "string", "enum": [ "unspecified", "new", "pending", "on_interview", "approved", "cancelled", "rejected" ], "x-enum-varnames": [ "SubStatusUnspecified", "SubStatusNew", "SubStatusPending", "SubStatusOnInterview", "SubStatusApproved", "SubStatusCancelled", "SubStatusRejected" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionStatusUpdateRequest": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.SubmissionStatus" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Transaction": { "type": "object", "properties": { "amount": { "type": "integer" }, "bank_account_info": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.BankAccountInfo" }, "created_at": { "type": "string" }, "currency": { "type": "string" }, "id": { "type": "string" }, "owner_info": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionOwnerInfo" }, "payload": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionPayload" }, "status": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionStatus" }, "type": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionType" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionCreateRequest": { "type": "object", "properties": { "amount": { "type": "integer" }, "bank_account_id": { "type": "string" }, "currency": { "type": "string" }, "ownerId": { "type": "string" }, "payload": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionPayload" }, "request_id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionCreateResponse": { "type": "object", "properties": { "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionListGetResponse": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Transaction" } } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionOwnerInfo": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionPayload": { "type": "object", "properties": { "company_id": { "type": "string" }, "company_name": { "type": "string" }, "origin": { "type": "string" }, "vacancy_id": { "type": "string" }, "vacancy_name": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionStatus": { "type": "string", "enum": [ "new", "pending", "approved", "rejected" ], "x-enum-varnames": [ "TransactionStatusNew", "TransactionStatusPending", "TransactionStatusApproved", "TransactionStatusRejected" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.TransactionType": { "type": "string", "enum": [ "deposit", "withdrawal" ], "x-enum-varnames": [ "TransactionTypeDeposit", "TransactionTypeWithdrawal" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.UserCredentials": { "type": "object", "properties": { "email": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "password": { "type": "string" }, "permissions": { "type": "object", "additionalProperties": { "type": "string" } }, "phone": { "type": "string" }, "user_type": { "type": "integer" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Vacancy": { "type": "object", "properties": { "address": { "type": "string" }, "agent_reward": { "type": "integer" }, "company": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyCompanyInfo" }, "created_at": { "type": "string" }, "current_candidates": { "type": "integer" }, "extra_fields": { "type": "string" }, "extra_info": { "type": "string" }, "id": { "type": "string" }, "is_archived": { "type": "boolean" }, "moderation": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyModeration" }, "name": { "type": "string" }, "region": { "type": "string" }, "required_candidates": { "type": "integer" }, "requirements": { "type": "string" }, "responsibilities": { "type": "string" }, "salary_bottom": { "type": "integer" }, "salary_top": { "type": "integer" }, "target_action": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyTargetAction" }, "work_format": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyCompanyInfo": { "type": "object", "properties": { "id": { "type": "string" }, "logo_link": { "type": "string" }, "name": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyCreateRequest": { "type": "object", "properties": { "address": { "type": "string" }, "agent_reward": { "type": "integer" }, "company_id": { "type": "string" }, "current_candidates": { "type": "integer" }, "extra_fields": { "type": "string" }, "extra_info": { "type": "string" }, "name": { "type": "string" }, "region": { "type": "string" }, "required_candidates": { "type": "integer" }, "requirements": { "type": "string" }, "responsibilities": { "type": "string" }, "salary_bottom": { "type": "integer" }, "salary_top": { "type": "integer" }, "target_action": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyTargetAction" }, "work_format": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyCreateResponse": { "type": "object", "properties": { "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyInfo": { "type": "object", "properties": { "id": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyListGetResponse": { "type": "object", "properties": { "vacancies": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.Vacancy" } } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyModeration": { "type": "object", "properties": { "description_history": { "type": "array", "items": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyModerationDescription" } }, "status": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyStatus" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyModerationDescription": { "type": "object", "properties": { "created_at": { "type": "string" }, "description": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyStatus": { "type": "string", "enum": [ "unspecified", "new", "pending", "approved", "rejected" ], "x-enum-varnames": [ "VacUnspecified", "VacNew", "VacPending", "VacApproved", "VacRejected" ] }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyTargetAction": { "type": "object", "properties": { "action": { "type": "string" }, "duration": { "type": "integer" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyTargetActionForUpdate": { "type": "object", "properties": { "action": { "type": "string" }, "duration": { "type": "integer" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyUpdateRequest": { "type": "object", "properties": { "address": { "type": "string" }, "agent_reward": { "type": "integer" }, "extra_fields": { "type": "string" }, "extra_info": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "region": { "type": "string" }, "required_candidates": { "type": "integer" }, "requirements": { "type": "string" }, "responsibilities": { "type": "string" }, "salary_bottom": { "type": "integer" }, "salary_top": { "type": "integer" }, "target_action": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_request_model.VacancyTargetActionForUpdate" }, "work_format": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_types.Employee": { "type": "object", "properties": { "email": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "middle_name": { "type": "string" }, "permissions": { "description": "Phone string `json:\"phone\"` // не уверен, что это нужно", "type": "object", "additionalProperties": { "$ref": "#/definitions/git-molva_ru_Molva_molva-backend_services_api_gateway_internal_constants.PermissionValue" } }, "uid": { "type": "string" } } }, "git-molva_ru_Molva_molva-backend_services_api_gateway_internal_types.PersonalLinkResponse": { "type": "object", "properties": { "link": { "type": "string" } } } }, "securityDefinitions": { "BearerAuth": { "description": "Type \"Bearer\" followed by a space and JWT token.", "type": "apiKey", "name": "Authorization", "in": "header" } } }