{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/encarapi-com/json-schema/encarapi-com-catalog-response-schema.json",
  "title": "CatalogResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/encarapi-com-openapi.json#/components/schemas/CatalogResponse",
  "type": "object",
  "properties": {
    "Count": {
      "type": "integer",
      "description": "Total matches (only when count=true). Calculated from a periodically refreshed snapshot and cached - it can lag the live rows by up to about 20 minutes. Do not use it as a completeness check."
    },
    "SearchResults": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CatalogItem"
      }
    },
    "nextAfter": {
      "type": [
        "string",
        "null"
      ],
      "description": "Only with sort=id: pass as ?after= for the next page; null on the last page."
    },
    "hasMore": {
      "type": "boolean",
      "description": "Only with sort=id: true while more pages follow."
    }
  },
  "$defs": {
    "CatalogItem": {
      "type": "object",
      "description": "Raw Korean fields are always present; the *English companions give the English value. With lang=en the main fields are English and the *English duplicates are omitted.",
      "properties": {
        "Id": {
          "type": "string"
        },
        "Manufacturer": {
          "type": "string"
        },
        "ManufacturerEnglish": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelEnglish": {
          "type": "string"
        },
        "Badge": {
          "type": "string"
        },
        "BadgeEnglish": {
          "type": "string"
        },
        "FuelType": {
          "type": "string"
        },
        "FuelTypeEnglish": {
          "type": "string"
        },
        "Year": {
          "type": "integer",
          "description": "YYYYMM"
        },
        "Price": {
          "type": "integer",
          "description": "In 만원 (10,000 KRW)."
        },
        "Mileage": {
          "type": "integer",
          "description": "km"
        },
        "PowerPs": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Engine power in PS (absent when not available for this listing)."
        },
        "PowerKw": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Engine power in kW (absent when not available for this listing)."
        },
        "DisplacementCc": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Engine displacement in cc (absent when not available for this listing)."
        },
        "IsDuplicate": {
          "type": "boolean",
          "description": "true when this listing is an extra copy of another listing (same car, cross-posted by the dealer). Only present when true. See \"Duplicate listings\" above."
        },
        "DuplicateOf": {
          "type": "string",
          "description": "The listing_id this is a duplicate of (numeric string). Only present when IsDuplicate is true."
        },
        "Photos": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string"
              }
            }
          }
        },
        "Source": {
          "type": "string",
          "enum": [
            "encar",
            "kcar",
            "kbc"
          ],
          "description": "Which platform this listing comes from. Only present when the request sets ?source= - default (Encar-only) responses are unchanged."
        },
        "Url": {
          "type": "string",
          "description": "Public listing page on the source platform. Only on K Car / KB Chachacha items (?source= set)."
        },
        "Transmission": {
          "type": "string",
          "description": "Gearbox (Korean raw value; with ?lang=en the English code, with ?lang=ru / de the Russian / German label). On Encar items as delivered by Encar; on K Car / KB Chachacha items filled from our normalized data."
        },
        "Color": {
          "type": "string",
          "description": "Exterior color (with ?lang=en the English code, with ?lang=ru / de the Russian / German label). Only on K Car / KB Chachacha items (?source= set) - Encar carries color in /api/vehicle/{id} only."
        },
        "Options": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Equipment codes. Only on K Car / KB Chachacha items (?source= set). K Car codes are mapped to Encar codes; KB Chachacha uses its own codes - resolve them with /api/taxonomy/kbc_options.csv."
        },
        "SeatCount": {
          "type": "integer",
          "description": "Seats. Only on K Car / KB Chachacha items (?source= set), where the platform publishes it."
        },
        "Region": {
          "type": [
            "string",
            "null"
          ],
          "description": "Normalized region (province) code of the seller, on every source; with ?lang=ru the Russian region name, with ?lang=de the region name. See \"Region and city\"."
        },
        "City": {
          "type": [
            "string",
            "null"
          ],
          "description": "English city / district name of the seller (Russian with ?lang=ru). Encar listings only (null on KB Chachacha / K Car)."
        }
      }
    }
  }
}