{
  "components": {
    "schemas": {
      "CarCatalogPricing": {
        "properties": {
          "calculated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Когда выполнен расчет, UTC.",
            "title": "Calculated At"
          },
          "listing_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Цена объявления в пересчете на рубли.",
            "examples": [
              1826056
            ],
            "title": "Listing Rub"
          },
          "market": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Рынок покупки: KR, JP или CN.",
            "examples": [
              "JP"
            ],
            "title": "Market"
          },
          "market_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Название рынка для отображения.",
            "examples": [
              "Япония"
            ],
            "title": "Market Label"
          },
          "rates_fetched_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Когда были получены курсы для расчета, UTC.",
            "title": "Rates Fetched At"
          },
          "total_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Итоговая стоимость автомобиля во Владивостоке, RUB. Полная расшифровка — в `GET /cars/{car_id}`.",
            "examples": [
              4617233
            ],
            "title": "Total Rub"
          }
        },
        "title": "CarCatalogPricing",
        "type": "object"
      },
      "CarDetail": {
        "properties": {
          "id": {
            "description": "Стабильный идентификатор автомобиля в CarHub.",
            "examples": [
              943576
            ],
            "title": "Id",
            "type": "integer"
          },
          "identity": {
            "$ref": "#/components/schemas/CarIdentity",
            "description": "Марка, модель и комплектация."
          },
          "links": {
            "$ref": "#/components/schemas/CarLinks",
            "description": "Ссылки на страницы CarHub."
          },
          "listing": {
            "$ref": "#/components/schemas/CarListing",
            "description": "Данные объявления: год, пробег, цена, статус."
          },
          "media": {
            "$ref": "#/components/schemas/CarDetailMedia",
            "description": "Все медиа: фото объявления, фото комплектации, 360-панорамы."
          },
          "pricing": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CarPriceCalculation"
              },
              {
                "type": "null"
              }
            ],
            "description": "Полный расчет стоимости во Владивостоке с постатейной расшифровкой."
          },
          "sections": {
            "$ref": "#/components/schemas/CarDetailSections",
            "description": "Характеристики и оснащение, сгруппированные для отображения."
          },
          "source": {
            "$ref": "#/components/schemas/CarSource",
            "description": "Площадка-источник объявления."
          },
          "specs": {
            "$ref": "#/components/schemas/CarSpecs",
            "description": "Технические характеристики."
          }
        },
        "required": [
          "id",
          "identity",
          "listing",
          "specs",
          "media",
          "source",
          "links"
        ],
        "title": "CarDetail",
        "type": "object"
      },
      "CarDetailFact": {
        "properties": {
          "label": {
            "description": "Название характеристики.",
            "examples": [
              "Разгон до 100 км/ч"
            ],
            "title": "Label",
            "type": "string"
          },
          "value": {
            "description": "Готовое к отображению значение.",
            "examples": [
              "8.9 с"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "label",
          "value"
        ],
        "title": "CarDetailFact",
        "type": "object"
      },
      "CarDetailMedia": {
        "properties": {
          "configuration_photos": {
            "description": "Студийные фото комплектации из каталога: ракурсы кузова, салон, детали.",
            "items": {
              "$ref": "#/components/schemas/CarMediaItem"
            },
            "title": "Configuration Photos",
            "type": "array"
          },
          "has_panorama": {
            "default": false,
            "description": "Есть ли у автомобиля 360-панорамы. Сами панорамы приходят в детальной карточке.",
            "title": "Has Panorama",
            "type": "boolean"
          },
          "listing_photos": {
            "description": "Фотографии из объявления продавца.",
            "items": {
              "$ref": "#/components/schemas/CarMediaItem"
            },
            "title": "Listing Photos",
            "type": "array"
          },
          "main_photo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Абсолютный URL главного фото. Может указывать на фотопрокси CarHub `/api/v2/cars/{id}/photo` — используйте значение как есть, не изменяя его.",
            "title": "Main Photo"
          },
          "panoramas": {
            "description": "Интерактивные 360-панорамы экстерьера и интерьера. URL открывается во фрейме или новой вкладке.",
            "items": {
              "$ref": "#/components/schemas/CarMediaItem"
            },
            "title": "Panoramas",
            "type": "array"
          }
        },
        "title": "CarDetailMedia",
        "type": "object"
      },
      "CarDetailResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CarDetail",
            "description": "Детальная карточка автомобиля."
          },
          "generated_at": {
            "description": "Когда сформирован ответ, UTC.",
            "format": "date-time",
            "title": "Generated At",
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "title": "CarDetailResponse",
        "type": "object"
      },
      "CarDetailSections": {
        "properties": {
          "detailed_specs": {
            "description": "Подробные характеристики.",
            "items": {
              "$ref": "#/components/schemas/CarDetailFact"
            },
            "title": "Detailed Specs",
            "type": "array"
          },
          "equipment": {
            "description": "Оснащение комплектации по группам.",
            "items": {
              "$ref": "#/components/schemas/CarEquipmentGroup"
            },
            "title": "Equipment",
            "type": "array"
          },
          "key_specs": {
            "description": "Ключевые характеристики для верхнего блока карточки.",
            "items": {
              "$ref": "#/components/schemas/CarDetailFact"
            },
            "title": "Key Specs",
            "type": "array"
          }
        },
        "title": "CarDetailSections",
        "type": "object"
      },
      "CarEquipmentGroup": {
        "properties": {
          "items": {
            "description": "Позиции оснащения в группе.",
            "items": {
              "type": "string"
            },
            "title": "Items",
            "type": "array"
          },
          "title": {
            "description": "Название группы оснащения.",
            "examples": [
              "Безопасность"
            ],
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "title"
        ],
        "title": "CarEquipmentGroup",
        "type": "object"
      },
      "CarIdentity": {
        "properties": {
          "manufacturer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Марка автомобиля.",
            "examples": [
              "BMW"
            ],
            "title": "Manufacturer"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Модель автомобиля.",
            "examples": [
              "X3"
            ],
            "title": "Model"
          },
          "title": {
            "description": "Готовый заголовок карточки: марка и модель.",
            "examples": [
              "BMW X3"
            ],
            "title": "Title",
            "type": "string"
          },
          "trim": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Комплектация или модификация.",
            "examples": [
              "xDrive20d M"
            ],
            "title": "Trim"
          }
        },
        "required": [
          "title"
        ],
        "title": "CarIdentity",
        "type": "object"
      },
      "CarLinks": {
        "properties": {
          "carhub": {
            "description": "Абсолютный URL страницы автомобиля на сайте CarHub.",
            "title": "Carhub",
            "type": "string"
          }
        },
        "required": [
          "carhub"
        ],
        "title": "CarLinks",
        "type": "object"
      },
      "CarListing": {
        "properties": {
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Город размещения объявления, если известен.",
            "examples": [
              "Сеул"
            ],
            "title": "City"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Валюта цены объявления: KRW, JPY или CNY.",
            "examples": [
              "JPY"
            ],
            "title": "Currency"
          },
          "mileage_km": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Пробег, км.",
            "examples": [
              35000
            ],
            "title": "Mileage Km"
          },
          "price": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Цена в объявлении на площадке-источнике, в валюте `currency`.",
            "examples": [
              3880000
            ],
            "title": "Price"
          },
          "published_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Дата и время публикации объявления, UTC.",
            "title": "Published At"
          },
          "sell_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Статус объявления на площадке-источнике. `active` — в продаже.",
            "examples": [
              "active"
            ],
            "title": "Sell Status"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Год выпуска.",
            "examples": [
              2021
            ],
            "title": "Year"
          }
        },
        "title": "CarListing",
        "type": "object"
      },
      "CarMedia": {
        "properties": {
          "has_panorama": {
            "default": false,
            "description": "Есть ли у автомобиля 360-панорамы. Сами панорамы приходят в детальной карточке.",
            "title": "Has Panorama",
            "type": "boolean"
          },
          "main_photo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Абсолютный URL главного фото. Может указывать на фотопрокси CarHub `/api/v2/cars/{id}/photo` — используйте значение как есть, не изменяя его.",
            "title": "Main Photo"
          }
        },
        "title": "CarMedia",
        "type": "object"
      },
      "CarMediaItem": {
        "properties": {
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Подпись для отображения, на русском.",
            "examples": [
              "Салон спереди"
            ],
            "title": "Label"
          },
          "type": {
            "default": "photo",
            "description": "Тип элемента: `photo`, `catalog_photo`, `interior_panorama` или `exterior_panorama`.",
            "title": "Type",
            "type": "string"
          },
          "url": {
            "description": "Абсолютный URL медиафайла.",
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "title": "CarMediaItem",
        "type": "object"
      },
      "CarPriceCalculation": {
        "properties": {
          "age_years": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Возраст автомобиля, использованный в расчете, лет.",
            "examples": [
              5
            ],
            "title": "Age Years"
          },
          "currency_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Курс валюты объявления к рублю на момент расчета.",
            "examples": [
              0.470633
            ],
            "title": "Currency Rate"
          },
          "customs_age_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Возрастная категория для пошлины.",
            "examples": [
              "от 3 до 5 лет"
            ],
            "title": "Customs Age Label"
          },
          "customs_duty_note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Ставка пошлины прописью.",
            "examples": [
              "2.7 € за 1 см³"
            ],
            "title": "Customs Duty Note"
          },
          "customs_duty_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Таможенная пошлина, RUB.",
            "examples": [
              471696
            ],
            "title": "Customs Duty Rub"
          },
          "customs_fee_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Таможенный сбор, RUB.",
            "examples": [
              13541
            ],
            "title": "Customs Fee Rub"
          },
          "customs_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Таможенные платежи суммарно, RUB.",
            "examples": [
              485237
            ],
            "title": "Customs Rub"
          },
          "engine_cc": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Объем двигателя, использованный в расчете, см³.",
            "examples": [
              2000
            ],
            "title": "Engine Cc"
          },
          "eur_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Курс EUR/RUB на момент расчета — по нему считается таможенная пошлина.",
            "examples": [
              87.3511
            ],
            "title": "Eur Rate"
          },
          "listing_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Цена объявления в пересчете на рубли.",
            "examples": [
              1826056
            ],
            "title": "Listing Rub"
          },
          "market": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Рынок покупки: KR, JP или CN.",
            "examples": [
              "JP"
            ],
            "title": "Market"
          },
          "market_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Название рынка для отображения.",
            "examples": [
              "Япония"
            ],
            "title": "Market Label"
          },
          "notes": {
            "description": "Примечания к расчету для отображения.",
            "items": {
              "type": "string"
            },
            "title": "Notes",
            "type": "array"
          },
          "person_type": {
            "default": "physical",
            "description": "Тип получателя, для которого выполнен расчет. `physical` — физическое лицо.",
            "title": "Person Type",
            "type": "string"
          },
          "power_hp": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Мощность, использованная в расчете, л. с.",
            "examples": [
              181
            ],
            "title": "Power Hp"
          },
          "rates_fetched_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Когда были получены курсы для расчета, UTC.",
            "title": "Rates Fetched At"
          },
          "recycling_base_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Базовая ставка утилизационного сбора, RUB.",
            "examples": [
              20000
            ],
            "title": "Recycling Base Rub"
          },
          "recycling_coefficient": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Коэффициент утилизационного сбора.",
            "examples": [
              82.1
            ],
            "title": "Recycling Coefficient"
          },
          "recycling_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Утилизационный сбор, RUB.",
            "examples": [
              1642000
            ],
            "title": "Recycling Rub"
          },
          "steps": {
            "description": "Постатейная расшифровка расчета в порядке отображения. Сумма статей дает `total_rub`.",
            "items": {
              "$ref": "#/components/schemas/CarPriceStep"
            },
            "title": "Steps",
            "type": "array"
          },
          "total_rub": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Итоговая стоимость автомобиля во Владивостоке, RUB: цена объявления, доставка, таможенные платежи и оформление.",
            "examples": [
              4617233
            ],
            "title": "Total Rub"
          }
        },
        "title": "CarPriceCalculation",
        "type": "object"
      },
      "CarPriceStep": {
        "properties": {
          "amount_original": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Сумма в исходной валюте, если статья считалась не в рублях.",
            "examples": [
              3880000.0
            ],
            "title": "Amount Original"
          },
          "amount_rub": {
            "description": "Сумма статьи, RUB.",
            "examples": [
              485237
            ],
            "title": "Amount Rub",
            "type": "integer"
          },
          "bullets": {
            "description": "Из чего состоит статья, построчно.",
            "items": {
              "type": "string"
            },
            "title": "Bullets",
            "type": "array"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Валюта `amount_original`.",
            "examples": [
              "JPY"
            ],
            "title": "Currency"
          },
          "key": {
            "description": "Машиночитаемый ключ статьи расчета.",
            "examples": [
              "customs"
            ],
            "title": "Key",
            "type": "string"
          },
          "label": {
            "description": "Название статьи расчета для отображения.",
            "examples": [
              "Таможенная пошлина"
            ],
            "title": "Label",
            "type": "string"
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Пояснение к статье для отображения.",
            "title": "Note"
          }
        },
        "required": [
          "key",
          "label",
          "amount_rub"
        ],
        "title": "CarPriceStep",
        "type": "object"
      },
      "CarSource": {
        "properties": {
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Страна площадки-источника: KR, JP или CN.",
            "examples": [
              "JP"
            ],
            "title": "Country"
          },
          "listing_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Идентификатор объявления на площадке-источнике.",
            "title": "Listing Id"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Название площадки-источника.",
            "examples": [
              "Aucnet.jp"
            ],
            "title": "Name"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Ссылка на оригинальное объявление, если доступна.",
            "title": "Url"
          }
        },
        "title": "CarSource",
        "type": "object"
      },
      "CarSpecs": {
        "properties": {
          "body_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Тип кузова для отображения, на русском.",
            "examples": [
              "Джип/SUV"
            ],
            "title": "Body Type"
          },
          "drive_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Привод: FWD, RWD, AWD или 4WD.",
            "examples": [
              "AWD"
            ],
            "title": "Drive Type"
          },
          "engine_displacement_cc": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Объем двигателя, см³.",
            "examples": [
              2000
            ],
            "title": "Engine Displacement Cc"
          },
          "engine_power_hp": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Мощность двигателя, л. с.",
            "examples": [
              181
            ],
            "title": "Engine Power Hp"
          },
          "fuel_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Тип топлива для отображения.",
            "examples": [
              "Дизель"
            ],
            "title": "Fuel Type"
          },
          "transmission": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Коробка передач для отображения.",
            "examples": [
              "Автомат"
            ],
            "title": "Transmission"
          },
          "vehicle_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Нормализованный тип кузова. Возможные значения — в `vehicle_types` ответа `GET /cars/facets`.",
            "examples": [
              "suv"
            ],
            "title": "Vehicle Type"
          }
        },
        "title": "CarSpecs",
        "type": "object"
      },
      "CarSummary": {
        "properties": {
          "id": {
            "description": "Стабильный идентификатор автомобиля в CarHub.",
            "examples": [
              943576
            ],
            "title": "Id",
            "type": "integer"
          },
          "identity": {
            "$ref": "#/components/schemas/CarIdentity",
            "description": "Марка, модель и комплектация."
          },
          "links": {
            "$ref": "#/components/schemas/CarLinks",
            "description": "Ссылки на страницы CarHub."
          },
          "listing": {
            "$ref": "#/components/schemas/CarListing",
            "description": "Данные объявления: год, пробег, цена, статус."
          },
          "media": {
            "$ref": "#/components/schemas/CarMedia",
            "description": "Главное фото и признак 360-панорамы."
          },
          "pricing": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CarCatalogPricing"
              },
              {
                "type": "null"
              }
            ],
            "description": "Готовый расчет стоимости во Владивостоке. `null`, если расчет для автомобиля еще не выполнен."
          },
          "source": {
            "$ref": "#/components/schemas/CarSource",
            "description": "Площадка-источник объявления."
          },
          "specs": {
            "$ref": "#/components/schemas/CarSpecs",
            "description": "Технические характеристики."
          }
        },
        "required": [
          "id",
          "identity",
          "listing",
          "specs",
          "media",
          "source",
          "links"
        ],
        "title": "CarSummary",
        "type": "object"
      },
      "CatalogBrand": {
        "properties": {
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Страна марки для отображения.",
            "examples": [
              "Германия"
            ],
            "title": "Country"
          },
          "cyrillic_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Название марки кириллицей, если отличается.",
            "title": "Cyrillic Name"
          },
          "id": {
            "description": "Идентификатор марки в справочнике.",
            "examples": [
              "AUTOHOME_B15"
            ],
            "title": "Id",
            "type": "string"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL логотипа марки.",
            "title": "Logo Url"
          },
          "model_count": {
            "description": "Число моделей марки в справочнике.",
            "examples": [
              90
            ],
            "title": "Model Count",
            "type": "integer"
          },
          "name": {
            "description": "Название марки.",
            "examples": [
              "BMW"
            ],
            "title": "Name",
            "type": "string"
          },
          "popular": {
            "description": "Входит ли марка в популярные — для верхней части списка.",
            "title": "Popular",
            "type": "boolean"
          },
          "slug": {
            "description": "Слаг марки для URL и запроса моделей.",
            "examples": [
              "bmw"
            ],
            "title": "Slug",
            "type": "string"
          },
          "year_from": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Год начала выпуска автомобилей марки.",
            "examples": [
              1927
            ],
            "title": "Year From"
          },
          "year_to": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Последний год выпуска в справочнике.",
            "examples": [
              2026
            ],
            "title": "Year To"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "model_count",
          "popular"
        ],
        "title": "CatalogBrand",
        "type": "object"
      },
      "CatalogBrandModelsResponse": {
        "properties": {
          "brand": {
            "$ref": "#/components/schemas/CatalogBrand",
            "description": "Марка, к которой относятся модели."
          },
          "generated_at": {
            "description": "Когда сформирован ответ, UTC.",
            "format": "date-time",
            "title": "Generated At",
            "type": "string"
          },
          "models": {
            "description": "Модели марки.",
            "items": {
              "$ref": "#/components/schemas/CatalogModel"
            },
            "title": "Models",
            "type": "array"
          }
        },
        "required": [
          "brand",
          "models"
        ],
        "title": "CatalogBrandModelsResponse",
        "type": "object"
      },
      "CatalogBrandsResponse": {
        "properties": {
          "data": {
            "description": "Марки: сначала популярные, затем по алфавиту.",
            "items": {
              "$ref": "#/components/schemas/CatalogBrand"
            },
            "title": "Data",
            "type": "array"
          },
          "generated_at": {
            "description": "Когда сформирован ответ, UTC.",
            "format": "date-time",
            "title": "Generated At",
            "type": "string"
          },
          "stats": {
            "$ref": "#/components/schemas/CatalogStats",
            "description": "Сводная статистика справочника."
          }
        },
        "required": [
          "stats",
          "data"
        ],
        "title": "CatalogBrandsResponse",
        "type": "object"
      },
      "CatalogFacetsResponse": {
        "properties": {
          "countries": {
            "description": "Страны-источники для параметра `source_country`.",
            "items": {
              "$ref": "#/components/schemas/FacetOption"
            },
            "title": "Countries",
            "type": "array"
          },
          "engine_types": {
            "description": "Типы двигателя для параметра `engine_type`.",
            "items": {
              "$ref": "#/components/schemas/FacetOption"
            },
            "title": "Engine Types",
            "type": "array"
          },
          "generated_at": {
            "description": "Когда сформирован ответ, UTC.",
            "format": "date-time",
            "title": "Generated At",
            "type": "string"
          },
          "manufacturers": {
            "description": "Марки для параметра `manufacturer`.",
            "items": {
              "$ref": "#/components/schemas/FacetOption"
            },
            "title": "Manufacturers",
            "type": "array"
          },
          "mileage": {
            "$ref": "#/components/schemas/FacetRange",
            "description": "Диапазон пробега, км, для `mileage_min`/`mileage_max`."
          },
          "models": {
            "description": "Модели для параметра `model` с привязкой к марке.",
            "items": {
              "$ref": "#/components/schemas/FacetOption"
            },
            "title": "Models",
            "type": "array"
          },
          "price": {
            "$ref": "#/components/schemas/FacetRange",
            "description": "Диапазон цен объявлений для `price_min`/`price_max`."
          },
          "vehicle_types": {
            "description": "Типы кузова для параметра `vehicle_type`.",
            "items": {
              "$ref": "#/components/schemas/FacetOption"
            },
            "title": "Vehicle Types",
            "type": "array"
          },
          "year": {
            "$ref": "#/components/schemas/FacetRange",
            "description": "Диапазон годов выпуска для `year_min`/`year_max`."
          }
        },
        "required": [
          "countries",
          "vehicle_types",
          "engine_types",
          "manufacturers",
          "models",
          "price",
          "year",
          "mileage"
        ],
        "title": "CatalogFacetsResponse",
        "type": "object"
      },
      "CatalogModel": {
        "properties": {
          "autohome_modification_count": {
            "description": "Число модификаций из китайского каталога.",
            "title": "Autohome Modification Count",
            "type": "integer"
          },
          "cyrillic_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Название модели кириллицей, если отличается.",
            "title": "Cyrillic Name"
          },
          "generation_count": {
            "description": "Число поколений модели.",
            "examples": [
              10
            ],
            "title": "Generation Count",
            "type": "integer"
          },
          "id": {
            "description": "Идентификатор модели в справочнике.",
            "examples": [
              "BMW_1ER"
            ],
            "title": "Id",
            "type": "string"
          },
          "media_count": {
            "description": "Число медиафайлов модели.",
            "examples": [
              18
            ],
            "title": "Media Count",
            "type": "integer"
          },
          "modification_count": {
            "description": "Число модификаций модели.",
            "examples": [
              306
            ],
            "title": "Modification Count",
            "type": "integer"
          },
          "name": {
            "description": "Название модели.",
            "examples": [
              "1 серии"
            ],
            "title": "Name",
            "type": "string"
          },
          "sample_photo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL фото модели для превью.",
            "title": "Sample Photo Url"
          },
          "slug": {
            "description": "Слаг модели для URL.",
            "examples": [
              "1er"
            ],
            "title": "Slug",
            "type": "string"
          },
          "year_from": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Год начала выпуска модели.",
            "examples": [
              2004
            ],
            "title": "Year From"
          },
          "year_to": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Последний год выпуска в справочнике.",
            "examples": [
              2026
            ],
            "title": "Year To"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "generation_count",
          "modification_count",
          "autohome_modification_count",
          "media_count"
        ],
        "title": "CatalogModel",
        "type": "object"
      },
      "CatalogPagination": {
        "properties": {
          "has_more": {
            "description": "Есть ли следующая страница.",
            "examples": [
              true
            ],
            "title": "Has More",
            "type": "boolean"
          },
          "limit": {
            "description": "Размер страницы, который применил сервер.",
            "examples": [
              16
            ],
            "title": "Limit",
            "type": "integer"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Непрозрачный курсор следующей страницы. Передайте его в параметре `cursor`. `null` — страниц больше нет.",
            "title": "Next Cursor"
          }
        },
        "required": [
          "limit",
          "has_more"
        ],
        "title": "CatalogPagination",
        "type": "object"
      },
      "CatalogResponse": {
        "properties": {
          "data": {
            "description": "Автомобили текущей страницы.",
            "items": {
              "$ref": "#/components/schemas/CarSummary"
            },
            "title": "Data",
            "type": "array"
          },
          "generated_at": {
            "description": "Когда сформирован ответ, UTC.",
            "format": "date-time",
            "title": "Generated At",
            "type": "string"
          },
          "pagination": {
            "$ref": "#/components/schemas/CatalogPagination",
            "description": "Курсорная пагинация."
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "CatalogResponse",
        "type": "object"
      },
      "CatalogStats": {
        "properties": {
          "brands": {
            "description": "Марок в справочнике.",
            "examples": [
              799
            ],
            "title": "Brands",
            "type": "integer"
          },
          "china_media_items": {
            "description": "Медиафайлов китайского каталога всего.",
            "examples": [
              413573
            ],
            "title": "China Media Items",
            "type": "integer"
          },
          "china_panorama_items": {
            "description": "360-панорам в китайском каталоге.",
            "examples": [
              5820
            ],
            "title": "China Panorama Items",
            "type": "integer"
          },
          "china_photo_items": {
            "description": "Фотографий в китайском каталоге.",
            "examples": [
              407752
            ],
            "title": "China Photo Items",
            "type": "integer"
          },
          "china_spec_entries": {
            "description": "Наборов характеристик китайских комплектаций.",
            "examples": [
              25269
            ],
            "title": "China Spec Entries",
            "type": "integer"
          },
          "configurations": {
            "description": "Конфигураций кузова и рестайлингов.",
            "examples": [
              39307
            ],
            "title": "Configurations",
            "type": "integer"
          },
          "generations": {
            "description": "Поколений моделей.",
            "examples": [
              18592
            ],
            "title": "Generations",
            "type": "integer"
          },
          "legacy_wiki_entries": {
            "description": "Справочных статей о моделях.",
            "examples": [
              4358
            ],
            "title": "Legacy Wiki Entries",
            "type": "integer"
          },
          "models": {
            "description": "Моделей в справочнике.",
            "examples": [
              8633
            ],
            "title": "Models",
            "type": "integer"
          },
          "modifications": {
            "description": "Модификаций двигателя и трансмиссии.",
            "examples": [
              125208
            ],
            "title": "Modifications",
            "type": "integer"
          },
          "options": {
            "description": "Позиций оснащения.",
            "examples": [
              54163
            ],
            "title": "Options",
            "type": "integer"
          },
          "specifications": {
            "description": "Наборов технических характеристик.",
            "examples": [
              125208
            ],
            "title": "Specifications",
            "type": "integer"
          }
        },
        "required": [
          "brands",
          "models",
          "generations",
          "configurations",
          "modifications",
          "specifications",
          "options",
          "legacy_wiki_entries",
          "china_spec_entries",
          "china_media_items",
          "china_panorama_items",
          "china_photo_items"
        ],
        "title": "CatalogStats",
        "type": "object"
      },
      "CurrencyRates": {
        "properties": {
          "cny_rub": {
            "description": "Курс CNY/RUB.",
            "examples": [
              11.2219
            ],
            "title": "Cny Rub",
            "type": "number"
          },
          "eur_rub": {
            "description": "Курс EUR/RUB.",
            "examples": [
              87.3511
            ],
            "title": "Eur Rub",
            "type": "number"
          },
          "fetched_at": {
            "description": "Когда курсы были получены от источника, UTC.",
            "format": "date-time",
            "title": "Fetched At",
            "type": "string"
          },
          "jpy_rub": {
            "description": "Курс JPY/RUB за 1 йену.",
            "examples": [
              0.470633
            ],
            "title": "Jpy Rub",
            "type": "number"
          },
          "krw_rub": {
            "description": "Курс KRW/RUB за 1 вону.",
            "examples": [
              0.050048
            ],
            "title": "Krw Rub",
            "type": "number"
          },
          "nominal_date": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Дата, на которую ЦБ РФ установил курсы.",
            "title": "Nominal Date"
          },
          "source": {
            "default": "cbr",
            "description": "Источник курсов. `cbr` — Центральный банк РФ.",
            "title": "Source",
            "type": "string"
          },
          "status": {
            "default": "cached",
            "description": "Свежесть данных: `fresh` — получены сейчас, `cached` — из кеша, `fallback` — резервные значения.",
            "title": "Status",
            "type": "string"
          },
          "usd_rub": {
            "description": "Курс USD/RUB.",
            "examples": [
              76.4026
            ],
            "title": "Usd Rub",
            "type": "number"
          }
        },
        "required": [
          "fetched_at",
          "usd_rub",
          "eur_rub",
          "cny_rub",
          "jpy_rub",
          "krw_rub"
        ],
        "title": "CurrencyRates",
        "type": "object"
      },
      "CurrencyRatesResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CurrencyRates",
            "description": "Актуальные курсы валют."
          },
          "generated_at": {
            "description": "Когда сформирован ответ, UTC.",
            "format": "date-time",
            "title": "Generated At",
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "title": "CurrencyRatesResponse",
        "type": "object"
      },
      "FacetOption": {
        "properties": {
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Число автомобилей с этим значением при текущих фильтрах. `null`, если подсчет не ведется.",
            "examples": [
              74268
            ],
            "title": "Count"
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Иллюстрация значения, если есть: фото модели или логотип.",
            "title": "Image Url"
          },
          "label": {
            "description": "Название для отображения, на русском.",
            "examples": [
              "Джип/SUV"
            ],
            "title": "Label",
            "type": "string"
          },
          "manufacturer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Только для списка моделей: марка, к которой относится модель.",
            "examples": [
              "BMW"
            ],
            "title": "Manufacturer"
          },
          "value": {
            "description": "Значение для передачи в одноименный параметр `GET /cars`.",
            "examples": [
              "suv"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "label"
        ],
        "title": "FacetOption",
        "type": "object"
      },
      "FacetRange": {
        "properties": {
          "max": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Максимальное доступное значение.",
            "examples": [
              2027
            ],
            "title": "Max"
          },
          "min": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Минимальное доступное значение.",
            "examples": [
              1949
            ],
            "title": "Min"
          }
        },
        "title": "FacetRange",
        "type": "object"
      }
    }
  },
  "info": {
    "description": "Публичное API каталога CarHub: автомобили с площадок Кореи, Японии и Китая с характеристиками, фотографиями и готовым расчетом стоимости во Владивостоке. Все публичные endpoints работают только на чтение и не требуют ключа.",
    "title": "CarHub API",
    "version": "2.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/v2/cars": {
      "get": {
        "description": "Возвращает страницу каталога: автомобили из Кореи, Японии и Китая с характеристиками, главным фото и готовым расчетом стоимости во Владивостоке.\n\nСтраницы листаются курсором: возьмите `pagination.next_cursor` из ответа и передайте его в параметре `cursor` следующего запроса. Без фильтров выдача перемешивает страны-источники.\n\nДопустимые значения фильтров и доступные диапазоны берите из `GET /cars/facets`.",
        "operationId": "list_cars_api_v2_cars_get",
        "parameters": [
          {
            "description": "Размер страницы, от 1 до 100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "description": "Размер страницы, от 1 до 100.",
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Курсор из `pagination.next_cursor` предыдущей страницы.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Курсор из `pagination.next_cursor` предыдущей страницы.",
              "title": "Cursor"
            }
          },
          {
            "description": "Текстовый поиск по марке, модели, комплектации и заголовку. Число ищется как точный ID CarHub.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 120,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Текстовый поиск по марке, модели, комплектации и заголовку. Число ищется как точный ID CarHub.",
              "title": "Q"
            }
          },
          {
            "description": "Устаревший синоним `q`. Используйте `q`.",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 120,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Устаревший синоним `q`. Используйте `q`.",
              "title": "Search"
            }
          },
          {
            "description": "Вернуть только автомобили с главным фото.",
            "in": "query",
            "name": "photo_only",
            "required": false,
            "schema": {
              "default": false,
              "description": "Вернуть только автомобили с главным фото.",
              "title": "Photo Only",
              "type": "boolean"
            }
          },
          {
            "description": "Тип кузова. Значения — из `vehicle_types` ответа `GET /cars/facets`, например `suv`.",
            "in": "query",
            "name": "vehicle_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Тип кузова. Значения — из `vehicle_types` ответа `GET /cars/facets`, например `suv`.",
              "title": "Vehicle Type"
            }
          },
          {
            "description": "Страна площадки-источника: `KR`, `JP` или `CN`.",
            "in": "query",
            "name": "source_country",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Страна площадки-источника: `KR`, `JP` или `CN`.",
              "title": "Source Country"
            }
          },
          {
            "description": "Тип двигателя. Значения — из `engine_types` ответа `GET /cars/facets`, например `hybrid`.",
            "in": "query",
            "name": "engine_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Тип двигателя. Значения — из `engine_types` ответа `GET /cars/facets`, например `hybrid`.",
              "title": "Engine Type"
            }
          },
          {
            "description": "Марка. Параметр можно повторять, чтобы выбрать несколько марок.",
            "in": "query",
            "name": "manufacturer",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Марка. Параметр можно повторять, чтобы выбрать несколько марок.",
              "title": "Manufacturer"
            }
          },
          {
            "description": "Модель. Параметр можно повторять, чтобы выбрать несколько моделей.",
            "in": "query",
            "name": "model",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Модель. Параметр можно повторять, чтобы выбрать несколько моделей.",
              "title": "Model"
            }
          },
          {
            "description": "Минимальная цена объявления в валюте площадки-источника.",
            "in": "query",
            "name": "price_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальная цена объявления в валюте площадки-источника.",
              "title": "Price Min"
            }
          },
          {
            "description": "Максимальная цена объявления в валюте площадки-источника.",
            "in": "query",
            "name": "price_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальная цена объявления в валюте площадки-источника.",
              "title": "Price Max"
            }
          },
          {
            "description": "Минимальная итоговая стоимость во Владивостоке, RUB.",
            "in": "query",
            "name": "landed_price_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальная итоговая стоимость во Владивостоке, RUB.",
              "title": "Landed Price Min"
            }
          },
          {
            "description": "Максимальная итоговая стоимость во Владивостоке, RUB.",
            "in": "query",
            "name": "landed_price_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальная итоговая стоимость во Владивостоке, RUB.",
              "title": "Landed Price Max"
            }
          },
          {
            "description": "Минимальный год выпуска.",
            "in": "query",
            "name": "year_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2035,
                  "minimum": 1980,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальный год выпуска.",
              "title": "Year Min"
            }
          },
          {
            "description": "Максимальный год выпуска.",
            "in": "query",
            "name": "year_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2035,
                  "minimum": 1980,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальный год выпуска.",
              "title": "Year Max"
            }
          },
          {
            "description": "Минимальный пробег, км.",
            "in": "query",
            "name": "mileage_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальный пробег, км.",
              "title": "Mileage Min"
            }
          },
          {
            "description": "Максимальный пробег, км.",
            "in": "query",
            "name": "mileage_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальный пробег, км.",
              "title": "Mileage Max"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": [
                    {
                      "id": 943576,
                      "identity": {
                        "manufacturer": "BMW",
                        "model": "X3",
                        "title": "BMW X3",
                        "trim": "xDrive20d M"
                      },
                      "links": {
                        "carhub": "https://carhubauto.ru/car/943576/"
                      },
                      "listing": {
                        "currency": "JPY",
                        "mileage_km": 35000,
                        "price": 3880000,
                        "published_at": "2026-07-09T01:41:09.767873Z",
                        "sell_status": "active",
                        "year": 2021
                      },
                      "media": {
                        "has_panorama": true,
                        "main_photo": "https://carhubauto.ru/api/v2/cars/943576/photo"
                      },
                      "pricing": {
                        "calculated_at": "2026-07-09T08:22:55.272032Z",
                        "listing_rub": 1826056,
                        "market": "JP",
                        "market_label": "Япония",
                        "rates_fetched_at": "2026-07-09T08:02:03.179380Z",
                        "total_rub": 4617233
                      },
                      "source": {
                        "country": "JP",
                        "name": "Aucnet.jp"
                      },
                      "specs": {
                        "body_type": "Джип/SUV",
                        "drive_type": "AWD",
                        "engine_displacement_cc": 2000,
                        "engine_power_hp": 181,
                        "fuel_type": "Дизель",
                        "transmission": "Автомат",
                        "vehicle_type": "suv"
                      }
                    }
                  ],
                  "generated_at": "2026-07-09T09:14:50.475803Z",
                  "pagination": {
                    "has_more": true,
                    "limit": 1,
                    "next_cursor": "eyJ2IjoxLCJzb3J0IjoiZnJlc2hfZ29vZF9lbm91Z2hfZGVzYyIsImNhcl9pZCI6OTQzNTc2fQ"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CatalogResponse"
                }
              }
            },
            "description": "Страница каталога."
          },
          "400": {
            "description": "Невалидная комбинация фильтров, например `price_min` больше `price_max`."
          },
          "422": {
            "description": "Параметр не прошел валидацию: неверный тип или значение вне допустимого диапазона."
          }
        },
        "summary": "Каталог автомобилей",
        "tags": [
          "Автомобили"
        ]
      }
    },
    "/api/v2/cars/facets": {
      "get": {
        "description": "Возвращает допустимые значения фильтров каталога и доступные диапазоны цены, года и пробега.\n\nСтройте интерфейс фильтров на этих данных: поле `value` каждого варианта передается в одноименный параметр `GET /cars`, поле `label` показывается пользователю. Эндпоинт принимает те же фильтры, что и `GET /cars`, — так фасеты пересчитываются под уже выбранные условия.",
        "operationId": "get_car_facets_api_v2_cars_facets_get",
        "parameters": [
          {
            "description": "Считать фасеты только по автомобилям с главным фото.",
            "in": "query",
            "name": "photo_only",
            "required": false,
            "schema": {
              "default": true,
              "description": "Считать фасеты только по автомобилям с главным фото.",
              "title": "Photo Only",
              "type": "boolean"
            }
          },
          {
            "description": "Текстовый поиск, как в `GET /cars`.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 120,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Текстовый поиск, как в `GET /cars`.",
              "title": "Q"
            }
          },
          {
            "description": "Устаревший синоним `q`. Используйте `q`.",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 120,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Устаревший синоним `q`. Используйте `q`.",
              "title": "Search"
            }
          },
          {
            "description": "Тип кузова. Значения — из `vehicle_types` этого же ответа.",
            "in": "query",
            "name": "vehicle_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Тип кузова. Значения — из `vehicle_types` этого же ответа.",
              "title": "Vehicle Type"
            }
          },
          {
            "description": "Страна площадки-источника: `KR`, `JP` или `CN`.",
            "in": "query",
            "name": "source_country",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Страна площадки-источника: `KR`, `JP` или `CN`.",
              "title": "Source Country"
            }
          },
          {
            "description": "Тип двигателя. Значения — из `engine_types` этого же ответа.",
            "in": "query",
            "name": "engine_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Тип двигателя. Значения — из `engine_types` этого же ответа.",
              "title": "Engine Type"
            }
          },
          {
            "description": "Марка. Параметр можно повторять.",
            "in": "query",
            "name": "manufacturer",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Марка. Параметр можно повторять.",
              "title": "Manufacturer"
            }
          },
          {
            "description": "Модель. Параметр можно повторять.",
            "in": "query",
            "name": "model",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Модель. Параметр можно повторять.",
              "title": "Model"
            }
          },
          {
            "description": "Минимальная цена объявления в валюте площадки-источника.",
            "in": "query",
            "name": "price_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальная цена объявления в валюте площадки-источника.",
              "title": "Price Min"
            }
          },
          {
            "description": "Максимальная цена объявления в валюте площадки-источника.",
            "in": "query",
            "name": "price_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальная цена объявления в валюте площадки-источника.",
              "title": "Price Max"
            }
          },
          {
            "description": "Минимальная итоговая стоимость во Владивостоке, RUB.",
            "in": "query",
            "name": "landed_price_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальная итоговая стоимость во Владивостоке, RUB.",
              "title": "Landed Price Min"
            }
          },
          {
            "description": "Максимальная итоговая стоимость во Владивостоке, RUB.",
            "in": "query",
            "name": "landed_price_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 1000000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальная итоговая стоимость во Владивостоке, RUB.",
              "title": "Landed Price Max"
            }
          },
          {
            "description": "Минимальный год выпуска.",
            "in": "query",
            "name": "year_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2035,
                  "minimum": 1980,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальный год выпуска.",
              "title": "Year Min"
            }
          },
          {
            "description": "Максимальный год выпуска.",
            "in": "query",
            "name": "year_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2035,
                  "minimum": 1980,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальный год выпуска.",
              "title": "Year Max"
            }
          },
          {
            "description": "Минимальный пробег, км.",
            "in": "query",
            "name": "mileage_min",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Минимальный пробег, км.",
              "title": "Mileage Min"
            }
          },
          {
            "description": "Максимальный пробег, км.",
            "in": "query",
            "name": "mileage_max",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 2000000,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Максимальный пробег, км.",
              "title": "Mileage Max"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "countries": [
                    {
                      "count": 562020,
                      "label": "Китай",
                      "value": "CN"
                    },
                    {
                      "count": 23656,
                      "label": "Япония",
                      "value": "JP"
                    },
                    {
                      "count": 356777,
                      "label": "Корея",
                      "value": "KR"
                    }
                  ],
                  "engine_types": [
                    {
                      "label": "Бензин",
                      "value": "gasoline"
                    },
                    {
                      "label": "Гибрид",
                      "value": "hybrid"
                    }
                  ],
                  "generated_at": "2026-07-09T09:15:08.769315Z",
                  "manufacturers": [
                    {
                      "count": 97382,
                      "label": "Kia",
                      "value": "Kia"
                    }
                  ],
                  "mileage": {
                    "max": 1000000,
                    "min": 0
                  },
                  "models": [
                    {
                      "count": 17787,
                      "image_url": "https://carhubauto.ru/api/v2/cars/935118/photo",
                      "label": "Carnival",
                      "manufacturer": "Kia",
                      "value": "Carnival"
                    }
                  ],
                  "price": {
                    "max": 2580097508,
                    "min": 180254
                  },
                  "vehicle_types": [
                    {
                      "count": 328112,
                      "label": "Джип/SUV",
                      "value": "suv"
                    },
                    {
                      "count": 70160,
                      "label": "Хэтчбек",
                      "value": "hatchback"
                    }
                  ],
                  "year": {
                    "max": 2027,
                    "min": 1949
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CatalogFacetsResponse"
                }
              }
            },
            "description": "Значения и диапазоны фильтров."
          },
          "400": {
            "description": "Невалидная комбинация фильтров, например `price_min` больше `price_max`."
          },
          "422": {
            "description": "Параметр не прошел валидацию: неверный тип или значение вне допустимого диапазона."
          }
        },
        "summary": "Фасеты фильтров каталога",
        "tags": [
          "Автомобили"
        ]
      }
    },
    "/api/v2/cars/{car_id}": {
      "get": {
        "description": "Возвращает полную карточку автомобиля: характеристики, все фото и 360-панорамы, постатейный расчет стоимости во Владивостоке и оснащение комплектации.\n\n`car_id` берите из поля `id` ответа `GET /cars`. Идентификатор стабилен: по нему можно строить постоянные ссылки.",
        "operationId": "get_car_api_v2_cars__car_id__get",
        "parameters": [
          {
            "description": "Идентификатор автомобиля в CarHub, из поля `id` каталога.",
            "in": "path",
            "name": "car_id",
            "required": true,
            "schema": {
              "description": "Идентификатор автомобиля в CarHub, из поля `id` каталога.",
              "minimum": 1,
              "title": "Car Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "id": 943576,
                    "identity": {
                      "manufacturer": "BMW",
                      "model": "X3",
                      "title": "BMW X3",
                      "trim": "xDrive20d M"
                    },
                    "links": {
                      "carhub": "https://carhubauto.ru/car/943576/"
                    },
                    "listing": {
                      "currency": "JPY",
                      "mileage_km": 35000,
                      "price": 3880000,
                      "published_at": "2026-07-09T01:41:09.767873Z",
                      "sell_status": "active",
                      "year": 2021
                    },
                    "media": {
                      "configuration_photos": [
                        {
                          "label": "Главное",
                          "type": "catalog_photo",
                          "url": "https://s3.twcstorage.ru/itm-hub-media/catalog/all_photos/22906848_main.jpg"
                        },
                        {
                          "label": "Салон спереди",
                          "type": "catalog_photo",
                          "url": "https://s3.twcstorage.ru/itm-hub-media/catalog/all_photos/22906848_saloon-front.jpg"
                        }
                      ],
                      "has_panorama": true,
                      "listing_photos": [
                        {
                          "label": "Основное фото",
                          "type": "photo",
                          "url": "https://carhubauto.ru/api/v2/cars/943576/photo"
                        }
                      ],
                      "main_photo": "https://carhubauto.ru/api/v2/cars/943576/photo",
                      "panoramas": [
                        {
                          "label": "Панорама интерьера",
                          "type": "interior_panorama",
                          "url": "https://pano.autohome.com.cn/car/pano/51645"
                        },
                        {
                          "label": "Экстерьер 360",
                          "type": "exterior_panorama",
                          "url": "https://pano.autohome.com.cn/car/ext/51645"
                        }
                      ]
                    },
                    "pricing": {
                      "age_years": 5,
                      "currency_rate": 0.470633,
                      "customs_age_label": "от 3 до 5 лет",
                      "customs_duty_note": "2.7 € за 1 см³",
                      "customs_duty_rub": 471696,
                      "customs_fee_rub": 13541,
                      "customs_rub": 485237,
                      "engine_cc": 2000,
                      "eur_rate": 87.3511,
                      "listing_rub": 1826056,
                      "market": "JP",
                      "market_label": "Япония",
                      "notes": [],
                      "person_type": "physical",
                      "power_hp": 181,
                      "rates_fetched_at": "2026-07-09T08:02:03.179380Z",
                      "recycling_base_rub": 20000,
                      "recycling_coefficient": 82.1,
                      "recycling_rub": 1642000,
                      "steps": [
                        {
                          "amount_original": 3880000.0,
                          "amount_rub": 1826056,
                          "bullets": [],
                          "currency": "JPY",
                          "key": "listing",
                          "label": "Стоимость на аукционе"
                        },
                        {
                          "amount_rub": 340854,
                          "bullets": [
                            "комиссия аукциона",
                            "логистика внутри Японии",
                            "погрузка на судно"
                          ],
                          "currency": "RUB",
                          "key": "japan_local",
                          "label": "Расходы по Японии",
                          "note": "Зависят от аукционной стоимости автомобиля."
                        }
                      ],
                      "total_rub": 4617233
                    },
                    "sections": {
                      "detailed_specs": [
                        {
                          "label": "Привод",
                          "value": "Полный"
                        }
                      ],
                      "equipment": [
                        {
                          "items": [
                            "Система экстренного торможения"
                          ],
                          "title": "Безопасность"
                        }
                      ],
                      "key_specs": [
                        {
                          "label": "Двигатель",
                          "value": "2.0 л, 181 л. с."
                        }
                      ]
                    },
                    "source": {
                      "country": "JP",
                      "name": "Aucnet.jp"
                    },
                    "specs": {
                      "body_type": "Джип/SUV",
                      "drive_type": "AWD",
                      "engine_displacement_cc": 2000,
                      "engine_power_hp": 181,
                      "fuel_type": "Дизель",
                      "transmission": "Автомат",
                      "vehicle_type": "suv"
                    }
                  },
                  "generated_at": "2026-07-09T09:14:55.000000Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/CarDetailResponse"
                }
              }
            },
            "description": "Детальная карточка автомобиля."
          },
          "404": {
            "description": "Автомобиль не найден или снят с публикации."
          },
          "422": {
            "description": "`car_id` не является положительным целым числом."
          }
        },
        "summary": "Карточка автомобиля",
        "tags": [
          "Автомобили"
        ]
      }
    },
    "/api/v2/catalog/brands": {
      "get": {
        "description": "Возвращает марки автомобилей с логотипами, числом моделей и сводной статистикой справочника. Популярные марки идут первыми.\n\nПоле `slug` марки используется в `GET /catalog/brands/{brand_slug}/models` для получения списка ее моделей.",
        "operationId": "list_catalog_brands_api_v2_catalog_brands_get",
        "parameters": [
          {
            "description": "Максимум марок в ответе, от 1 до 1000.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 1000,
              "description": "Максимум марок в ответе, от 1 до 1000.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Поиск марки по названию.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 80,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Поиск марки по названию.",
              "title": "Q"
            }
          },
          {
            "description": "Фильтр по стране марки, например `Германия`.",
            "in": "query",
            "name": "country",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 40,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Фильтр по стране марки, например `Германия`.",
              "title": "Country"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": [
                    {
                      "country": "Германия",
                      "cyrillic_name": "BMW",
                      "id": "AUTOHOME_B15",
                      "logo_url": "https://car2.autoimg.cn/cardfs/series/g28/100x100_bmw.png",
                      "model_count": 90,
                      "name": "BMW",
                      "popular": true,
                      "slug": "bmw",
                      "year_from": 1927,
                      "year_to": 2026
                    }
                  ],
                  "generated_at": "2026-07-09T09:15:08.769315Z",
                  "stats": {
                    "brands": 799,
                    "china_media_items": 413573,
                    "china_panorama_items": 5820,
                    "china_photo_items": 407752,
                    "china_spec_entries": 25269,
                    "configurations": 39307,
                    "generations": 18592,
                    "legacy_wiki_entries": 4358,
                    "models": 8633,
                    "modifications": 125208,
                    "options": 54163,
                    "specifications": 125208
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CatalogBrandsResponse"
                }
              }
            },
            "description": "Марки и статистика справочника."
          },
          "422": {
            "description": "Параметр не прошел валидацию: неверный тип или значение вне допустимого диапазона."
          }
        },
        "summary": "Справочник марок",
        "tags": [
          "Марки и модели"
        ]
      }
    },
    "/api/v2/catalog/brands/{brand_slug}/models": {
      "get": {
        "description": "Возвращает модели указанной марки: годы выпуска, число поколений и модификаций, фото для превью.\n\n`brand_slug` берите из поля `slug` ответа `GET /catalog/brands`.",
        "operationId": "list_catalog_brand_models_api_v2_catalog_brands__brand_slug__models_get",
        "parameters": [
          {
            "description": "Слаг марки из поля `slug` ответа `GET /catalog/brands`.",
            "in": "path",
            "name": "brand_slug",
            "required": true,
            "schema": {
              "description": "Слаг марки из поля `slug` ответа `GET /catalog/brands`.",
              "title": "Brand Slug",
              "type": "string"
            }
          },
          {
            "description": "Максимум моделей в ответе, от 1 до 300.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 300,
              "description": "Максимум моделей в ответе, от 1 до 300.",
              "maximum": 300,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "brand": {
                    "country": "Германия",
                    "cyrillic_name": "BMW",
                    "id": "AUTOHOME_B15",
                    "logo_url": "https://car2.autoimg.cn/cardfs/series/g28/100x100_bmw.png",
                    "model_count": 90,
                    "name": "BMW",
                    "popular": true,
                    "slug": "bmw",
                    "year_from": 1927,
                    "year_to": 2026
                  },
                  "generated_at": "2026-07-09T09:15:21.566979Z",
                  "models": [
                    {
                      "autohome_modification_count": 0,
                      "cyrillic_name": "1 серии",
                      "generation_count": 10,
                      "id": "BMW_1ER",
                      "media_count": 18,
                      "modification_count": 306,
                      "name": "1 серии",
                      "sample_photo_url": "https://s3.twcstorage.ru/itm-hub-media/catalog/all_photos/20371761_main.jpg",
                      "slug": "1er",
                      "year_from": 2004,
                      "year_to": 2026
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/CatalogBrandModelsResponse"
                }
              }
            },
            "description": "Марка и ее модели."
          },
          "404": {
            "description": "Марка с таким `brand_slug` не найдена."
          },
          "422": {
            "description": "Параметр не прошел валидацию: неверный тип или значение вне допустимого диапазона."
          }
        },
        "summary": "Модели марки",
        "tags": [
          "Марки и модели"
        ]
      }
    },
    "/api/v2/currency/rates": {
      "get": {
        "description": "Возвращает курсы USD, EUR, CNY, JPY и KRW к рублю по данным ЦБ РФ. Курсы нормализованы к цене за одну единицу валюты и обновляются не реже раза в час.\n\nЭти же курсы используются в расчете стоимости автомобилей: поле `rates_fetched_at` в блоке `pricing` карточки ссылается на момент получения курсов из этого источника.",
        "operationId": "get_currency_rates_api_v2_currency_rates_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "cny_rub": 11.2219,
                    "eur_rub": 87.3511,
                    "fetched_at": "2026-07-09T09:04:02.257972Z",
                    "jpy_rub": 0.470633,
                    "krw_rub": 0.050048,
                    "nominal_date": "2026-07-09",
                    "source": "cbr",
                    "status": "cached",
                    "usd_rub": 76.4026
                  },
                  "generated_at": "2026-07-09T09:14:51.170049Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/CurrencyRatesResponse"
                }
              }
            },
            "description": "Актуальные курсы валют."
          }
        },
        "summary": "Курсы валют",
        "tags": [
          "Курсы валют"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "Боевой сервер",
      "url": "https://carhubauto.ru"
    }
  ],
  "tags": [
    {
      "description": "Каталог с фильтрами, поиском и курсорной пагинацией, детальные карточки и фасеты для построения интерфейса фильтров.",
      "name": "Автомобили"
    },
    {
      "description": "Справочник марок и моделей с логотипами и статистикой.",
      "name": "Марки и модели"
    },
    {
      "description": "Курсы валют ЦБ РФ, используемые в расчетах стоимости.",
      "name": "Курсы валют"
    }
  ]
}
