// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "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": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.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"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "dev-molva.ru",
	BasePath:         "/",
	Schemes:          []string{"http", "https"},
	Title:            "Molva API Gateway",
	Description:      "API Gateway для системы Molva - платформы для управления вакансиями и агентами",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
