{
  "info": {
    "name": "TheCarApi — Vehicle Data API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Contract 2026-10-05, reviewed 2026-10-14. Generated from src/data/openapi.json. Set apiKey and path variables before sending. Optional query parameters are disabled. Source and field permissions depend on your key."
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "X-API-Key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{apiKey}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.thecarapi.com"
    },
    {
      "key": "apiKey",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "search",
      "item": [
        {
          "name": "GET /api/search",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "search"
              ],
              "query": [
                {
                  "key": "search",
                  "value": "",
                  "description": "Free-text query over brand, model and keywords.\n\nTwo shapes are looked up exactly instead: a 17-character VIN matches\n`chassis_number`, and a Japanese frame (chassis) number such as\n`USF40-5090514` matches `frame_number`. The hyphen is required; case\nand full-width characters are folded.\n",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "smart_filter",
                  "value": "top_offers",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "is_active",
                  "value": "true",
                  "description": "Only `true` (the default) is accepted. `false` is rejected with a\n400: this endpoint returns live lots only. For finished auctions use\n`/api/archive/search`.\n",
                  "disabled": true
                },
                {
                  "key": "include_ended",
                  "value": "false",
                  "description": "`true` also shows lots whose clock has run out but that have not\nbeen archived yet. For finished auctions use `/api/archive/search`.\nAlso accepts `1`/`0`/`yes`/`no`.\n",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "default",
                  "description": "Result ordering. `default` is photo-first, then newest. The retired\n`random` value is still accepted and is served as `default`.\n",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                },
                {
                  "key": "include_total",
                  "value": "true",
                  "description": "`false` returns `total: null` and skips the count, which is faster.",
                  "disabled": true
                },
                {
                  "key": "count_only",
                  "value": "false",
                  "description": "`true` returns the counts only, with no result rows.",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "The primary search. Every parameter below is optional; a request with no\nfilter at all returns the whole active inventory in feed order.\n\n**Depth policy is different here.** The general public offset cap is\n`pagination.max_offset` from `GET /api/contract` (5000 by default), but\nan *unfiltered* search pages to any depth — it seeks a precomputed feed\nrank window rather than counting rows. A *filtered* search has no\nprecomputed rank to seek into and stays bounded by that cap. Asking for\na page too deep returns a `400` that says which of the two you are in.\n\n**Selecting sources.** `site` and `site_exclude` take a comma-separated\nslug list, OR within the parameter. An unknown slug on either is a `400`\nnaming the offender — one bad member rejects the whole list rather than\nquietly serving a different search. Sent together, the exclusion narrows\nthe include list; excluding everything you included is a `400`.\n\n**Embedded galleries are capped.** Each result row's `images` array\ncarries at most the first 8 display-ordered photos for first-paint\nconvenience; the complete gallery lives on\n`/api/auction/{site_slug}/{auction_id}` (`vault_gallery`) and\n`/api/auction-images/{site_slug}/{auction_id}`.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/search/auction-ids",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/search/auction-ids",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "search",
                "auction-ids"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "Free-text query. An empty query returns an empty list.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Resolve a free-text query to bare numeric auction ids (up to 10,000). IDs carry no source and may exceed JavaScript precision. Hydrate through /api/search?search= to obtain source-aware cards. Empty results can also mean Typesense is disabled; 503 means it is unavailable."
          },
          "response": []
        }
      ]
    },
    {
      "name": "facets",
      "item": [
        {
          "name": "GET /api/years",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/years",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "years"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Distinct registration years in the filtered inventory, newest first. `year_counts` carries the per-year offer count under the same filters."
          },
          "response": []
        },
        {
          "name": "GET /api/production-years",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/production-years",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "production-years"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Distinct production years in the filtered inventory, newest first. `production_year` falls back to the registration year where the source publishes no build year, so this vocabulary is as wide as `/api/years` rather than a sparse subset of it. `production_year_counts` carries the per-year offer count under the same filters."
          },
          "response": []
        },
        {
          "name": "GET /api/fuels",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/fuels",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "fuels"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Canonical fuel groups. Send a value back as `?fuel=` on `/api/search`. `fuel_counts` carries the per-fuel offer count under the same filters."
          },
          "response": []
        },
        {
          "name": "GET /api/gearboxes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/gearboxes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "gearboxes"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Canonical gearbox groups. Send a value back as `?gearbox=` on `/api/search`. `gearbox_counts` carries the per-gearbox offer count under the same filters."
          },
          "response": []
        },
        {
          "name": "GET /api/countries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/countries",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "countries"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "ISO country codes present in the filtered inventory, plus a\n`country_details` array carrying the display name for each.\n\n**The `europe` pseudo-country.** `country=europe` means \"every origin\nthat is not overseas\", implemented as an exclusion rather than a list —\nso a source shipping from outside Europe has to be named for it to be\nexcluded. It currently excludes `KR` (Encar) and `JP`. Rows\nwith no recorded country are treated as European and are included. If\nyou need strict membership, pass explicit ISO codes instead.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/sites",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/sites",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "sites"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "The discovery endpoint for source slugs. `name` is the value you pass to\n`/api/search?site=` and the slug in `/api/auction/{site_slug}/{auction_id}`.\n\nCounts respect every other filter on the request but ignore\n`site`/`site_exclude` themselves — a facet that filtered by its own\ndimension could only return the sources you already named. `country` is\naccepted and ignored here.\n"
          },
          "response": []
        },
        {
          "name": "GET /load-models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/load-models",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "load-models"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "The whole brand-to-models map in one call, for building a cascading\nfilter UI without a round trip per brand. Heavy — cache it. `country`\nis accepted and ignored here.\n\n**This response is shaped differently from every other facet route.**\nThe body *is* the brand map: every key is a brand name and every value is\nthat brand's model list. There is no wrapper object, no `success` field\nand no contract metadata on a successful response — the keys are data, so\nnothing else may share that namespace. The correlation id is on the\n`X-Request-ID` response header instead.\n\nAn error response *is* wrapped, and does carry `success: false`.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/brands",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/brands",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "brands"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Substring filter on the facet value name.",
                  "disabled": true
                },
                {
                  "key": "ordering",
                  "value": "name",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Maximum facet values to return.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "The returned `slug` round-trips: send it back as `?brand=<slug>` to\n`/api/search` or `/api/models`.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/models",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "models"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": false
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Substring filter on the facet value name.",
                  "disabled": true
                },
                {
                  "key": "ordering",
                  "value": "name",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Maximum facet values to return.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "`brand` is required here — omitting it is a `400`."
          },
          "response": []
        },
        {
          "name": "GET /api/types",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/types",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "types"
              ],
              "query": [
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": false
                },
                {
                  "key": "model",
                  "value": "5-Series",
                  "description": "Model name from `/api/models`. Comma-separated values select several.",
                  "disabled": false
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Substring filter on the facet value name.",
                  "disabled": true
                },
                {
                  "key": "ordering",
                  "value": "name",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Maximum facet values to return.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "`brand` and `model` are both required — omitting either is a `400`.\n\nReturns the trims flat in `types`, each carrying the model it belongs\nto, and again in `grouped` keyed by that model, so a sidebar can nest\nthem under the model the user picked without regrouping client-side.\n\nA model is stored under each source's own spelling of its name\n(`5-Series`, `5 Series`, `5-серия`). All of them are accepted here and\ntheir trims are returned once, under the one canonical name\n[`/api/models`](#operation/listModels) offers, with the counts summed.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/facets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/facets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "facets"
              ],
              "query": [
                {
                  "key": "fields",
                  "value": "brands,fuels,gearboxes",
                  "description": "Comma-separated subset of dimensions to return: `brands`, `years`,\n`production_years`, `fuels`, `countries`, `gearboxes`, `sites`, plus\nthe opt-in `models` and `types`. Defaults to all but the opt-in two.\n",
                  "disabled": true
                },
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "buy_now",
                  "value": "false",
                  "description": "`true` restricts to Buy-Now listings. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "520d",
                  "description": "Trim / version, as listed by [`/api/types`](#operation/listTypes).\nComma-separated values select several. Cars with no trim recorded are\nkept, so a trim filter narrows the list without hiding unclassified\nstock.\n",
                  "disabled": true
                },
                {
                  "key": "vehicle_type",
                  "value": "cars",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "body_style",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "ending_soon",
                  "value": "false",
                  "description": "`true` restricts to auctions ending within roughly two hours.",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "A filter sidebar in one call instead of six. Each field's payload is the\nbody its own endpoint returns, merged verbatim — including\n`countries` shipping `country_details` alongside it. No field gains or\nloses counts by being requested here, and the per-dimension endpoints\nstay supported.\n\n`models` and `types` are returned only when named in `fields`, so the\ndefault response is unchanged. They need the same `brand` (and, for\n`types`, `model`) as `/api/models` and `/api/types`; without it the\nfield is reported under `errors`. That makes a full sidebar one call:\n`?brand=BMW&model=3-Series&fields=brands,models,types,years,fuels`.\n\nA field that fails does not fail the response. It is reported under\n`errors` and every other field is still returned, so one slow dimension\ncannot blank a sidebar.\n\n**Cross-filtered counts.** When other filters are present, every field\nrespects them: `?brand=BMW&price_to=5000` returns each model's count\nunder €5k, and value lists omit options with zero remaining matches.\nEach dimension ignores only its own filter, and counts share one filter\nimplementation with `/api/search`, so they always agree. With no\nfilters, global counts are returned as before.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "catalog",
      "item": [
        {
          "name": "GET /api/catalog/manufacturers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/catalog/manufacturers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "catalog",
                "manufacturers"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "DE",
                  "description": "Restrict counts to one country.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Manufacturer catalog pages"
          },
          "response": []
        },
        {
          "name": "GET /api/catalog/manufacturers/stats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/catalog/manufacturers/stats",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "catalog",
                "manufacturers",
                "stats"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "DE",
                  "description": "Restrict counts to one country.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Aggregate manufacturer statistics"
          },
          "response": []
        },
        {
          "name": "GET /api/catalog/manufacturers/{slug}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/catalog/manufacturers/:slug",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "catalog",
                "manufacturers",
                ":slug"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "DE",
                  "description": "Restrict counts to one country.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "slug",
                  "value": "bmw",
                  "description": "Manufacturer slug, e.g. from `/api/brands`."
                }
              ]
            },
            "description": "One manufacturer by slug"
          },
          "response": []
        },
        {
          "name": "GET /api/catalog/model-groups",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/catalog/model-groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "catalog",
                "model-groups"
              ],
              "query": [
                {
                  "key": "manufacturer__slug",
                  "value": "bmw",
                  "description": "Parent manufacturer slug. Omitting it is a `400`.",
                  "disabled": false
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Substring filter on model name.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "Restrict counts to one country.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Model-group catalog pages for a manufacturer"
          },
          "response": []
        },
        {
          "name": "GET /api/catalog/model-groups/{slug}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/catalog/model-groups/:slug",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "catalog",
                "model-groups",
                ":slug"
              ],
              "query": [
                {
                  "key": "manufacturer__slug",
                  "value": "bmw",
                  "description": "Parent manufacturer slug, to disambiguate a slug shared across brands.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "Restrict counts to one country.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "slug",
                  "value": "320d",
                  "description": ""
                }
              ]
            },
            "description": "One model group by slug"
          },
          "response": []
        }
      ]
    },
    {
      "name": "auctions",
      "item": [
        {
          "name": "GET /api/auction/{site_slug}/{auction_id}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/auction/:site_slug/:auction_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "auction",
                ":site_slug",
                ":auction_id"
              ],
              "query": [
                {
                  "key": "include",
                  "value": "price_history",
                  "description": "Comma-separated extras folded into this response, saving a request\neach. `price_history` adds a top-level `price_history` array, exactly\nthe `history` of `/api/auction/{site_slug}/{auction_id}/price-history`\n(the key must be allowed that endpoint, else `403`). With it,\n`max-age` is at most 60. Unknown values are a `400`. Omit it and the\nresponse is unchanged.\n",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "site_slug",
                  "value": "openlane",
                  "description": "A source slug from `/api/sites`."
                },
                {
                  "key": "auction_id",
                  "value": "38112900",
                  "description": "The integer database id of the auction."
                }
              ]
            },
            "description": "Source-aware detail for one listing. Private bidder fields and\naccount-scoped commercial figures (our fees, our delivery quotes, our\nplatform identity) are stripped at the response boundary — see the\n\"Never exposed\" section of `docs/public-api-reference.md`.\n\n`vehicle_details` is the cross-source normalized condition and paperwork\nblock. Read it instead of branching on `site_name`. It is omitted\nentirely for a listing whose details have not been fetched yet.\n\n`vault_gallery` embeds the exact body of\n`/api/auction-images/{site_slug}/{auction_id}`, so a detail page is one\nrequest rather than two. Both read one cache entry and cannot disagree.\n\n**Live prices.** For a *running* `openlane` auction this\nendpoint refreshes the bid from the source while serving the request and\nattaches a `live_price` block inside `auction`. Nothing has to be passed\nto enable it. See the `live_price` schema for how to read the three\npossible states.\n\n**Quota.** A response that asks you to read again (`live_price_pending`,\n`vin_ocr_pending`, `details_pending`, or `vault_gallery.pending` > 0) is\nnot counted against the key's daily or monthly quota; the follow-up read\nthat carries the data is. Per-minute and per-hour throttles still apply.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/auction/batch",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/auction/batch",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "auction",
                "batch"
              ],
              "query": [
                {
                  "key": "ids",
                  "value": "openlane:38112900,bca:1234567",
                  "description": "Comma-separated `site:auction_id` pairs, at most 100 (duplicates are\nignored). A malformed pair or more than 100 is a `400`.\n",
                  "disabled": false
                }
              ],
              "variable": []
            },
            "description": "The detail of many known cars in one call: a watchlist of 200 cars is\ntwo requests instead of 200. Each entry of `auctions` is exactly the\n`auction` object `/api/auction/{site_slug}/{auction_id}` returns, read\nfrom the same cache, including `vault_gallery`.\n\nCovered by the same key permission as the detail endpoint. Counts as one\nrequest whatever the number of ids.\n\nTwo things the single endpoint does are not done here, because doing\nthem for up to 100 cars at once would hit the sources 100 times: no\non-demand detail fetch (the car is queued and comes back with\n`details_pending: true`), and no live-price refresh or VIN read is\nstarted (one already known is still applied). Use the single endpoint\nfor a car that needs those now.\n\n`auctions` keeps the order of `ids`. An id that cannot be served is\nlisted under `missing` with a reason instead of failing the request.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/auction/{site_slug}/{auction_id}/price-history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/auction/:site_slug/:auction_id/price-history",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "auction",
                ":site_slug",
                ":auction_id",
                "price-history"
              ],
              "query": [],
              "variable": [
                {
                  "key": "site_slug",
                  "value": "openlane",
                  "description": "A source slug from `/api/sites`."
                },
                {
                  "key": "auction_id",
                  "value": "38112900",
                  "description": "The integer database id of the auction."
                }
              ]
            },
            "description": "Chronological source-price and public-price snapshots."
          },
          "response": []
        },
        {
          "name": "GET /api/auction-images/{site_slug}/{auction_id}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/auction-images/:site_slug/:auction_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "auction-images",
                ":site_slug",
                ":auction_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "site_slug",
                  "value": "openlane",
                  "description": "A source slug from `/api/sites`."
                },
                {
                  "key": "auction_id",
                  "value": "38112900",
                  "description": "The integer database id of the auction."
                }
              ]
            },
            "description": "Image-vault gallery metadata. **You usually do not need this call** —\n`/api/auction/{site_slug}/{auction_id}` embeds the same body as\n`vault_gallery`. This endpoint stays supported and is the right one when\nyou want the gallery on its own.\n\nEvery entry carries a URL that works right now: `served_url` once the\nvault has stored the photo, `remote_url` until then. Load `served_url`\ndirectly (same origin) and `remote_url` through an image proxy. Stored\nphotos are AVIF or WebP depending on what the source served — rely on\nthe URL and content type, not the extension.\n\n`pending` is how many photos the auction still owes, so you can show\nplaceholders instead of a silently short gallery. A non-zero `pending`\nalso promotes the outstanding rows to user-requested priority, and both\nthis and the detail response are served with `max-age=10` until it\nreaches zero.\n\nReturns `{\"success\": true, \"images\": []}` while nothing is stored yet.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/vin/{vin}/history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vin/:vin/history",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vin",
                ":vin",
                "history"
              ],
              "query": [],
              "variable": [
                {
                  "key": "vin",
                  "value": "WBA8E9G50GNU12345",
                  "description": "A valid 17-character VIN. Anything else is a `400`."
                }
              ]
            },
            "description": "Exact full-VIN lookup across current and archived auction records, up to\n100 matches, newest first.\n"
          },
          "response": []
        },
        {
          "name": "GET /report-vault/{site}/{auction_id}/{token}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/report-vault/:site/:auction_id/:token",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "report-vault",
                ":site",
                ":auction_id",
                ":token"
              ],
              "query": [
                {
                  "key": "download",
                  "value": "false",
                  "description": "true or 1 requests Content-Disposition attachment.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "site",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "auction_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "token",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "description": "Follow the URL returned in report fields. Files are fetched and cached with X-Report-Cache HIT/MISS and immutable cache headers. Non-file pages or unsupported hosts redirect upstream. Tokens identify reports already attached to the listing; do not construct them.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "archive",
      "item": [
        {
          "name": "GET /api/archive/search",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/archive/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "archive",
                "search"
              ],
              "query": [
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "archived_from",
                  "value": "2026-07-01",
                  "description": "Only lots archived on or after this date (`YYYY-MM-DD`). Anything else is a `400`.",
                  "disabled": true
                },
                {
                  "key": "archived_to",
                  "value": "2026-08-31",
                  "description": "Only lots archived on or before this date (`YYYY-MM-DD`). Inclusive of the whole day named.",
                  "disabled": true
                },
                {
                  "key": "vin",
                  "value": "WBA8E9G50GNU12345",
                  "description": "Exact full-VIN filter. Punctuation and case are ignored. A value that is not a valid 17-character VIN is a `400`. Only about 4% of archived rows carry a VIN at all.",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "archived_desc",
                  "description": "Result ordering.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                },
                {
                  "key": "include_total",
                  "value": "true",
                  "description": "`false` returns `total: null` and skips the count, which is faster.",
                  "disabled": true
                },
                {
                  "key": "auction_grade",
                  "value": "4,4.5,5",
                  "description": "The Japanese auction house's grade, as a comma-separated list of the\ngrades to keep: `S`, `6`, `5`, `4.5`, `4`, `3.5`, `3`, `2`, `1`, `R` and\n`RA` (repaired) and `***` (ungraded). Matched exactly, not as a minimum,\nbecause the letters have no place on the numeric scale. Case and\nfull-width digits are folded; any other value is a 400 on `/api/search`\nand `/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a grade, so any value keeps only them. The\ngrade is the resellers' where they state one they agree on, else the one\nread off the lot's auction sheet. It is published on each result as\n`auction_grade`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "auction_house",
                  "value": "uss,honda_tokyo",
                  "description": "The Japanese auction house, as a comma-separated list of names in the\nslug form each result's `auction_house` carries (`uss_tokyo`,\n`honda_tokyo`). Spaces, case and punctuation are folded, so\n`HONDA TOKYO` works too.\n\nMatches whole words of the house name: `uss` finds every USS branch,\n`tokyo` every Tokyo house, `uss_tokyo` that one house; `oky` finds\nnothing. A value that is not a Latin-script name is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints. Only Japanese listings carry a house, so any value keeps\nonly them. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "engine_from",
                  "value": "1",
                  "description": "Smallest engine in litres, e.g. `1.6` (matches from 1550 cc).",
                  "disabled": true
                },
                {
                  "key": "engine_to",
                  "value": "1",
                  "description": "Largest engine in litres, e.g. `2.0` (matches up to 2049 cc).",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "lot_number",
                  "value": "80041",
                  "description": "The Japanese auction house's lot number, as a comma-separated list.\nLeading zeros and full-width digits are folded (`080041` finds `80041`);\na value that is not letters and digits is a 400 on `/api/search` and\n`/api/archive/search`, and ignored by the facet endpoints.\n\nOnly Japanese listings carry a lot number, so any value keeps only them.\nA house numbers its lots per sale day, so one number can match several\ncars: tell them apart by `auction_house` and `batch_end_date` (the sale\nday) on each result. It is published on each result as\n`lot_number`. Not in the precomputed search index, so a request that\nsends it is served by the live query and is slower.\n",
                  "disabled": true
                },
                {
                  "key": "model_code",
                  "value": "USF40,ZC6",
                  "description": "A Japanese lot's chassis model code (e.g. `USF40`, `ZC6`), as a\ncomma-separated list. Compared without case or punctuation, so\n`u-30-5` finds `U-30-5`. A value with no letters or digits is a 400 on\n`/api/search` and `/api/archive/search`, and ignored by the facet\nendpoints.\n\nOnly Japanese listings carry a model code, so any value keeps only\nthem. Published on each result as `model_code`. Not in the precomputed\nsearch index, so a request that sends it is served by the live query\nand is slower.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "The historical counterpart to `/api/search`. It reads `auctions_archive`,\nwhich holds lots that ended, stayed inactive for the retention window,\nand were moved out of the live table with an `archived_at` stamp.\nNothing here is buyable.\n\n**This is not a sold-price index.** `public_price_eur` is the last public price observed. `final_price` may be absent or have an unverified result basis; it is not proof of a completed sale. Call `/api/archive/stats` for the per-source\ncoverage before building anything on a particular field.\n\n**No free-text `search` parameter.** The archive carries no trigram\nindex, and a substring scan across it costs seconds. `brand` and `model`\nmatch exactly (case- and slug-insensitive), as they do on `/api/search`.\n\nDefault ordering is newest-archived first. The general offset cap\n(`pagination.max_offset`, 5000 by default) applies — there is no\nunfiltered deep-paging path here.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/archive/auction/{site_slug}/{auction_id}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/archive/auction/:site_slug/:auction_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "archive",
                "auction",
                ":site_slug",
                ":auction_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "site_slug",
                  "value": "openlane",
                  "description": ""
                },
                {
                  "key": "auction_id",
                  "value": "1",
                  "description": "The source's auction id, as published on the search card."
                }
              ]
            },
            "description": "The archived counterpart to `/api/auction/{site_slug}/{auction_id}`, with\nthe same detail field set.\n\nTwo blocks are deliberately absent. There is no `live_price`: the lot is\nover, so there is no bid to refresh. There is no `vault_gallery`: that is\nserved from the live gallery route. `thumbnail_url` and whatever the row\nstored in `images` / `car_identification` are on the payload.\n\n`auction.price_history` carries every recorded price change of the lot\nwhile it was live, in the shape `/api/auction/{site_slug}/{auction_id}/price-history`\nreturns.\n\nAn archived row is never written again, so this response is cached for an\nhour.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/archive/stats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/archive/stats",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "archive",
                "stats"
              ],
              "query": [],
              "variable": []
            },
            "description": "How much history exists, per source, and how much of it carries a price,\na hammer price, or a VIN. Read this before assuming a field is populated:\n`with_final_price` is the number that stops the archive being mistaken\nfor a sold-price feed.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/archive/facets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/archive/facets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "archive",
                "facets"
              ],
              "query": [
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "engine_from",
                  "value": "1",
                  "description": "Smallest engine in litres, e.g. `1.6` (matches from 1550 cc).",
                  "disabled": true
                },
                {
                  "key": "engine_to",
                  "value": "1",
                  "description": "Largest engine in litres, e.g. `2.0` (matches up to 2049 cc).",
                  "disabled": true
                },
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "archived_from",
                  "value": "",
                  "description": "Lots that ended on or after this date (`YYYY-MM-DD`).",
                  "disabled": true
                },
                {
                  "key": "archived_to",
                  "value": "",
                  "description": "Lots that ended on or before this date (`YYYY-MM-DD`).",
                  "disabled": true
                },
                {
                  "key": "vin",
                  "value": "",
                  "description": "Exact full-VIN filter.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "100",
                  "description": "Values per facet (statistics - groups returned).",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "For every facet (`site`, `brand`, `country`, `fuel`, `gearbox`, `year`,\n`condition`, and `model` when `brand` is given) the values present under\nthe other filters, biggest first, plus the `total`.\n\nCovers archived lots **and** lots that have ended but are not archived\nyet (a lot is archived 45 days after it ends). Rebuilt nightly. Takes the\narchive search filters except the Japan sheet filters (`auction_grade`,\n`lot_number`, `model_code`, `auction_house`), which are a `400` here.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/archive/statistics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/archive/statistics",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "archive",
                "statistics"
              ],
              "query": [
                {
                  "key": "group_by",
                  "value": "month",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "bmw",
                  "description": "Brand display name, slug (from `/api/brands`), or numeric `brand_id`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "Model name or slug.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "ISO country code from `/api/countries`, or the pseudo-country `europe`.\nAccepted and ignored by `/api/sites` and `/load-models`.\n",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "Diesel",
                  "description": "Canonical fuel group from `/api/fuels`.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "Canonical gearbox group from `/api/gearboxes`.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "production_year_from",
                  "value": "2018",
                  "description": "Lower bound on production year, inclusive. `production_year` falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.",
                  "disabled": true
                },
                {
                  "key": "production_year_to",
                  "value": "2024",
                  "description": "Upper bound on production year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "horsepower_from",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "horsepower_to",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "engine_from",
                  "value": "1",
                  "description": "Smallest engine in litres, e.g. `1.6` (matches from 1550 cc).",
                  "disabled": true
                },
                {
                  "key": "engine_to",
                  "value": "1",
                  "description": "Largest engine in litres, e.g. `2.0` (matches up to 2049 cc).",
                  "disabled": true
                },
                {
                  "key": "damaged",
                  "value": "false",
                  "description": "`true` restricts to damaged/broken vehicles, `false` to undamaged ones. Also accepts `1`/`0`/`yes`/`no`.",
                  "disabled": true
                },
                {
                  "key": "archived_from",
                  "value": "",
                  "description": "Lots that ended on or after this date (`YYYY-MM-DD`).",
                  "disabled": true
                },
                {
                  "key": "archived_to",
                  "value": "",
                  "description": "Lots that ended on or before this date (`YYYY-MM-DD`).",
                  "disabled": true
                },
                {
                  "key": "vin",
                  "value": "",
                  "description": "Exact full-VIN filter.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "100",
                  "description": "Groups returned.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Same population and filters as `/api/archive/facets`, grouped by one\ndimension. Per group: `count`, `priced_count`, `result_count` (lots whose\nsource published a result), closing-price median/quartiles/mean,\n`buy_now_count` and `buy_now_median_eur`, mean mileage and horsepower, and\nthe damaged share. Time groups (`month`, `week`, `year`) come back in\nchronological order, every other grouping biggest first.\n\nThe closing price is the source's published result where it has one,\notherwise the last bid seen. It is not proof of a sale.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "details",
      "item": [
        {
          "name": "GET /api/car-details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/car-details",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "car-details"
              ],
              "query": [
                {
                  "key": "site",
                  "value": "encar",
                  "description": "Detail fetcher source. Japan is not supported here.",
                  "disabled": false
                },
                {
                  "key": "id",
                  "value": "38112900",
                  "description": "Source id. Required unless `link` or `identifier` is given. For\n`auto1` this is the offer id/UUID, not the numeric auction id.\n",
                  "disabled": false
                },
                {
                  "key": "link",
                  "value": "",
                  "description": "Listing URL. An alternative to `id`.",
                  "disabled": true
                },
                {
                  "key": "identifier",
                  "value": "",
                  "description": "Source id or listing URL. An alternative to `id`.",
                  "disabled": true
                },
                {
                  "key": "search_id",
                  "value": "",
                  "description": "Optional correlation id, echoed for your own tracing.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Fetch or serve detail for auto1, openlane, schadeautos, copart, encar, kbchachacha. KB requires numeric carSeq. Japan is not accepted: use /api/auction/japan/{auction_id} for stored import data. Responses are source-shaped; prefer vehicle_details for normalized fields. Details and price fields are subject to the key grants."
          },
          "response": []
        },
        {
          "name": "POST /api/car-details",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/car-details",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "car-details"
              ],
              "query": [],
              "variable": []
            },
            "description": "Fetch or serve detail for auto1, openlane, schadeautos, copart, encar, kbchachacha. KB requires numeric carSeq. Japan is not accepted: use /api/auction/japan/{auction_id} for stored import data. Responses are source-shaped; prefer vehicle_details for normalized fields. Details and price fields are subject to the key grants.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"site\": \"encar\",\n  \"id\": \"38112900\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "GET /api/listVehicles",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/listVehicles",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "listVehicles"
              ],
              "query": [
                {
                  "key": "manufacturer_slug",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model_group_slug",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model_group",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "fuel_type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "ordering",
                  "value": "-created_at",
                  "description": "e.g. `-created_at`, `price`, `-price`, `year`, `-year`.",
                  "disabled": true
                },
                {
                  "key": "min_year",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "max_year",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "max_mileage",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "A compatibility alias for search with catalog-shaped parameter names.\nAlso served at `/listVehicles`.\n\nThis route is **not** granted by default: it bypasses the public\npagination caps, so it is a deliberate per-key grant.\n"
          },
          "response": []
        },
        {
          "name": "POST /api/listVehicles",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/listVehicles",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "listVehicles"
              ],
              "query": [],
              "variable": []
            },
            "description": "Catalog-shaped search alias (JSON body)",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "GET /listVehicles",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/listVehicles",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "listVehicles"
              ],
              "query": [
                {
                  "key": "manufacturer_slug",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model_group_slug",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model_group",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "fuel_type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                },
                {
                  "key": "ordering",
                  "value": "-created_at",
                  "description": "e.g. `-created_at`, `price`, `-price`, `year`, `-year`.",
                  "disabled": true
                },
                {
                  "key": "min_year",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "max_year",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "max_mileage",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Identical to `/api/listVehicles`. Kept for older integrations."
          },
          "response": []
        },
        {
          "name": "POST /listVehicles",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/listVehicles",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "listVehicles"
              ],
              "query": [],
              "variable": []
            },
            "description": "Catalog-shaped search alias (unprefixed path, JSON body)",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "top-offers",
      "item": [
        {
          "name": "GET /api/top-offers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/top-offers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "top-offers"
              ],
              "query": [
                {
                  "key": "site",
                  "value": "openlane,auto1",
                  "description": "Comma-separated source slugs from `/api/sites`, OR within the parameter.\nCase-insensitive; padding and empty members are ignored. An unknown slug\nis a `400` naming the offender.\n",
                  "disabled": true
                },
                {
                  "key": "site_exclude",
                  "value": "copart",
                  "description": "Comma-separated source slugs to leave out. Same rules as `site`.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Exact `clean_make`, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "3 Series",
                  "description": "Exact `clean_model`, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "DE",
                  "description": "Vehicle country code, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "min_savings_pct",
                  "value": "20",
                  "description": "Only offers saving at least this percentage.",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "savings_pct",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                },
                {
                  "key": "steering",
                  "value": "left",
                  "description": "Which side the steering wheel is on. The parameter takes two values,\n`left` and `right`; `lhd`/`left-hand`/`left_hand` and\n`rhd`/`right-hand`/`right_hand` are equivalent spellings of them. Any\nother value is a 400.\n\nDerived rather than stored. The side is taken from the car's\nregistration market, so a car from an ISO country that drives on the left\n(GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is `right` and everything\nelse is `left`. Every listing resolves to one side or the other, so the\ntwo values partition the inventory and their totals sum to the unfiltered\ntotal. The same value is published on each result as `steering`.\n\nAccepted by `/api/search`, `/api/listVehicles`, `/api/top-offers` and\nevery facet endpoint, which narrow their option lists by it. Sending it\nto a facet endpoint takes that request off the precomputed facet table\nand onto a live aggregate, so it is slower than an unfiltered facet call.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "The same deals `/api/search?sort=top_offers` surfaces, as a feed of their\nown — and each card additionally carries the `market_reference` the\nverdict was made against, which search does not return.\n\nA car qualifies only when its saving clears a continuous,\nreference-quality-aware bar (wider price spread, thinner evidence and\nslower-selling models all raise it), so this is a shortlist, not\n\"everything below average\". Rows leave the feed the moment the auction\nends, so `total` shrinks through the day and grows again after each\ncomparison run.\n\nA non-numeric value on any numeric parameter is a `400`, not a dropped\nfilter. These are cycle prices, never live-refreshed.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "classifieds",
      "item": [
        {
          "name": "GET /api/classifieds/listings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/classifieds/listings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "classifieds",
                "listings"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "de,at",
                  "description": "Comma-separated country codes, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Comma-separated brands, exact as published.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "",
                  "description": "Comma-separated models.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "diesel",
                  "description": "Comma-separated normalized fuels.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "automatic",
                  "description": "Comma-separated normalized gearboxes.",
                  "disabled": true
                },
                {
                  "key": "seller",
                  "value": "dealer",
                  "description": "Comma-separated seller types.",
                  "disabled": true
                },
                {
                  "key": "source",
                  "value": "mobile.de",
                  "description": "Comma-separated origin portals, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "source_exclude",
                  "value": "mobile.de",
                  "description": "Comma-separated origin portals to leave out, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "q",
                  "value": "",
                  "description": "Substring match on title and description. Has no index behind it, so\nit is the filter most likely to set `total_unavailable`.\n",
                  "disabled": true
                },
                {
                  "key": "with_photo",
                  "value": "false",
                  "description": "Only listings that carry a thumbnail.",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "newest",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "include_total",
                  "value": "true",
                  "description": "`false` returns `total: null` and skips the count.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                },
                {
                  "key": "resolve_urls",
                  "value": "true",
                  "description": "When `true` (the default), automatically resolves unpopulated `source_url`\ndestination links on the fly in parallel before returning the feed.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Retail classifieds aggregated from portals across Europe. **Not auction\ninventory**: no bidding, no auction end date, no detail payload and no\ngallery — a single remote thumbnail per listing. Classifieds are\ntherefore never a valid `site` value on `/api/search` and never appear\nin `/api/sites`.\n\nEnded and paid-placement (\"promoted\") rows are excluded from every\nresponse. Every multi-value filter is OR within the parameter and AND\nacross parameters. A non-numeric value on a numeric parameter is a `400`.\n\n**Selecting portals.** The vocabulary is ~680 origin portals wide, which\nis why `source_exclude` exists — it is the only practical way to say\n\"everything but\". Unlike `site` on the auction side, an unrecognised\nportal is **not** an error: the vocabulary is scraped rather than fixed,\nso an unknown value simply matches nothing (or excludes nothing). A\nlisting with no recorded portal survives an exclusion.\n\n**Reading `total`.** The feed holds ~9.7M listings, so counting is\nbounded rather than exhaustive — see `total_capped` and\n`total_unavailable`. When you do not need a count, `include_total=false`\nis always the fastest option.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/classifieds/export",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/classifieds/export",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "classifieds",
                "export"
              ],
              "query": [
                {
                  "key": "after",
                  "value": "0",
                  "description": "The previous page's `next_after`. Omit for the first page.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1000",
                  "description": "Listings per page. Larger values are lowered to 1000.",
                  "disabled": true
                },
                {
                  "key": "fields",
                  "value": "reference_id,brand,model,year,price_eur,source_url",
                  "description": "Comma-separated columns to return, in this order. Any property of\n`TheParkingListing`; defaults to all of them.\n",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "de,at",
                  "description": "Comma-separated country codes, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Comma-separated brands, exact as published.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "",
                  "description": "Comma-separated models.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "diesel",
                  "description": "Comma-separated normalized fuels.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "automatic",
                  "description": "Comma-separated normalized gearboxes.",
                  "disabled": true
                },
                {
                  "key": "seller",
                  "value": "dealer",
                  "description": "Comma-separated seller types.",
                  "disabled": true
                },
                {
                  "key": "source",
                  "value": "mobile.de",
                  "description": "Comma-separated origin portals, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "source_exclude",
                  "value": "mobile.de",
                  "description": "Comma-separated origin portals to leave out, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "q",
                  "value": "",
                  "description": "Substring match on title and description. Unindexed, so slow on a narrow match.",
                  "disabled": true
                },
                {
                  "key": "with_photo",
                  "value": "false",
                  "description": "Only listings that carry a thumbnail.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "**Locked.** Bulk export is its own permission (`classifieds-export`), granted only\nto accounts we have approved for it. The `classifieds` scope does not include it;\nany other key gets a `403`. Contact us to apply.\n\nThe classifieds feed for syncing rather than browsing: up to 1,000\nlistings per request, in a fixed order, at any depth. Takes the same\nfilters as `/api/classifieds/listings`.\n\n**Paging.** Start without `after`, then pass each response's\n`next_after` as `after` until it comes back `null`. Every page costs the\nsame however deep it is, and there is no offset ceiling. Listings added\nwhile you page appear at the end; a listing that ends drops out.\n\n**Lighter by design.** Rows are arrays in `columns` order instead of\nobjects, `fields` trims the columns, there is no total, and no origin\nURL is resolved during the request: `source_url` is what has been\nresolved so far, and `source_url_redirect` always reaches the ad.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/classifieds/facets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/classifieds/facets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "classifieds",
                "facets"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "50",
                  "description": "Values returned **per dimension**. `0` returns all of them.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Precomputed by the nightly scrape and read back in ~10 ms, so it is warm\nas soon as the data changes and no request pays to compute it. Any\ndimension not yet precomputed is counted on demand and cached for an\nhour.\n\nThe default trim matters most for `sources`: there are ~680 origin\nportals, so the full list is useful as data but not as a picker.\n`value_counts.sources` tells you how many exist; `limit=0` returns them\nall.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/classifieds/models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/classifieds/models",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "classifieds",
                "models"
              ],
              "query": [
                {
                  "key": "brand",
                  "value": "BMW,Audi",
                  "description": "Comma-separated brands. Omitting it is a `400`.",
                  "disabled": false
                }
              ],
              "variable": []
            },
            "description": "Most common first, capped at 400. Use it to narrow a model select after\na brand is picked.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/classifieds/resolve",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/classifieds/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "classifieds",
                "resolve"
              ],
              "query": [
                {
                  "key": "reference_id",
                  "value": "9190319266",
                  "description": "The listing's stable identifier (e.g., `9190319266`).",
                  "disabled": true
                },
                {
                  "key": "offer_url",
                  "value": "https://www.theparking.eu/used-cars-detail/vehicle/ad/CODU642L.html",
                  "description": "theparking detail URL.",
                  "disabled": true
                },
                {
                  "key": "slug",
                  "value": "CODU642L",
                  "description": "theparking listing slug ID.",
                  "disabled": true
                },
                {
                  "key": "redirect",
                  "value": "false",
                  "description": "When true, issues an HTTP 302 redirect directly to the resolved origin URL (or fallback tracker).",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Resolves the origin portal URL for an aggregated classified listing on demand\n(e.g., mobile.de, autoscout24.be). Returns the destination URL and status, or\n302 redirects directly to it if `redirect=true`.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/theparking/resolve",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/theparking/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "theparking",
                "resolve"
              ],
              "query": [
                {
                  "key": "reference_id",
                  "value": "9190319266",
                  "description": "The listing's stable identifier (e.g., `9190319266`).",
                  "disabled": true
                },
                {
                  "key": "offer_url",
                  "value": "https://www.theparking.eu/used-cars-detail/vehicle/ad/CODU642L.html",
                  "description": "theparking detail URL.",
                  "disabled": true
                },
                {
                  "key": "slug",
                  "value": "CODU642L",
                  "description": "theparking listing slug ID.",
                  "disabled": true
                },
                {
                  "key": "redirect",
                  "value": "false",
                  "description": "When true, issues an HTTP 302 redirect directly to the resolved origin URL (or fallback tracker).",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Deprecated alias of `/api/classifieds/resolve`. Same request, same\nresponse. Prefer the classifieds path.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/theparking/listings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/theparking/listings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "theparking",
                "listings"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "de,at",
                  "description": "Comma-separated country codes, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Comma-separated brands, exact as published.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "",
                  "description": "Comma-separated models.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "diesel",
                  "description": "Comma-separated normalized fuels.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "automatic",
                  "description": "Comma-separated normalized gearboxes.",
                  "disabled": true
                },
                {
                  "key": "seller",
                  "value": "dealer",
                  "description": "Comma-separated seller types.",
                  "disabled": true
                },
                {
                  "key": "source",
                  "value": "mobile.de",
                  "description": "Comma-separated origin portals, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "source_exclude",
                  "value": "mobile.de",
                  "description": "Comma-separated origin portals to leave out, case-insensitive.",
                  "disabled": true
                },
                {
                  "key": "price_from",
                  "value": "1",
                  "description": "Lower bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "price_to",
                  "value": "1",
                  "description": "Upper bound on the public EUR price.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "2018",
                  "description": "Lower bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "2024",
                  "description": "Upper bound on registration year, inclusive.",
                  "disabled": true
                },
                {
                  "key": "kilometers_from",
                  "value": "1",
                  "description": "Lower bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "kilometers_to",
                  "value": "1",
                  "description": "Upper bound on mileage in kilometres.",
                  "disabled": true
                },
                {
                  "key": "q",
                  "value": "",
                  "description": "Substring match on title and description. Has no index behind it, so\nit is the filter most likely to set `total_unavailable`.\n",
                  "disabled": true
                },
                {
                  "key": "with_photo",
                  "value": "false",
                  "description": "Only listings that carry a thumbnail.",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "newest",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "include_total",
                  "value": "true",
                  "description": "`false` returns `total: null` and skips the count.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "1-based page number; maps to `offset = (page - 1) * limit`. Do not combine with `offset`.",
                  "disabled": true
                },
                {
                  "key": "page_size",
                  "value": "1",
                  "description": "Alias for `limit`. Do not combine with `limit`.",
                  "disabled": true
                },
                {
                  "key": "resolve_urls",
                  "value": "true",
                  "description": "When `true` (the default), automatically resolves unpopulated `source_url`\ndestination links on the fly in parallel before returning the feed.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Deprecated alias of `/api/classifieds/listings`. Same request, same\nresponse. Prefer the classifieds path.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/theparking/facets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/theparking/facets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "theparking",
                "facets"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "50",
                  "description": "Values returned **per dimension**. `0` returns all of them.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Deprecated alias of `/api/classifieds/facets`. Same request, same\nresponse. Prefer the classifieds path.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/theparking/models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/theparking/models",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "theparking",
                "models"
              ],
              "query": [
                {
                  "key": "brand",
                  "value": "BMW,Audi",
                  "description": "Comma-separated brands. Omitting it is a `400`.",
                  "disabled": false
                }
              ],
              "variable": []
            },
            "description": "Deprecated alias of `/api/classifieds/models`. Same request, same\nresponse. Prefer the classifieds path.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "market",
      "item": [
        {
          "name": "GET /api/cars-bg-market",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/cars-bg-market",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "cars-bg-market"
              ],
              "query": [
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Required, unless given as `make`.",
                  "disabled": true
                },
                {
                  "key": "make",
                  "value": "BMW",
                  "description": "Alias for `brand`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "year",
                  "value": "2019",
                  "description": "Centre year of the window.",
                  "disabled": false
                },
                {
                  "key": "flex",
                  "value": "1",
                  "description": "Year tolerance either side of `year`.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "A precomputed price snapshot for a brand/model/year window on the\nBulgarian retail market. Cycle prices, never live-refreshed.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/auction-market",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/auction-market",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "auction-market"
              ],
              "query": [
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Required, unless given as `make`.",
                  "disabled": true
                },
                {
                  "key": "make",
                  "value": "BMW",
                  "description": "Alias for `brand`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "year",
                  "value": "2019",
                  "description": "Centre year of the window.",
                  "disabled": false
                },
                {
                  "key": "flex",
                  "value": "1",
                  "description": "Year tolerance either side of `year`.",
                  "disabled": true
                },
                {
                  "key": "scope",
                  "value": "all",
                  "description": "Which inventory the snapshot covers.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Same window as `/api/cars-bg-market`, measured across auction inventory."
          },
          "response": []
        },
        {
          "name": "GET /api/market/valuation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/market/valuation",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "market",
                "valuation"
              ],
              "query": [
                {
                  "key": "brand",
                  "value": "BMW",
                  "description": "Required, unless given as `make`.",
                  "disabled": true
                },
                {
                  "key": "make",
                  "value": "BMW",
                  "description": "Alias for `brand`.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "320d",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "year",
                  "value": "1",
                  "description": "Exact registration year.",
                  "disabled": true
                },
                {
                  "key": "year_flex",
                  "value": "1",
                  "description": "Years either side of `year` for the range block.",
                  "disabled": true
                },
                {
                  "key": "year_from",
                  "value": "1",
                  "description": "Range start when `year` is not given.",
                  "disabled": true
                },
                {
                  "key": "year_to",
                  "value": "1",
                  "description": "Range end when `year` is not given.",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "",
                  "description": "Petrol, Diesel, Hybrid, Electric, LPG, CNG or Hydrogen. Plug-in and mild hybrids count as Hybrid.",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "",
                  "description": "Automatic or Manual.",
                  "disabled": true
                },
                {
                  "key": "engine",
                  "value": "1",
                  "description": "Engine displacement in litres, e.g. 2.0.",
                  "disabled": true
                },
                {
                  "key": "engine_flex",
                  "value": "0.2",
                  "description": "Litres either side of `engine` for the range block.",
                  "disabled": true
                },
                {
                  "key": "condition",
                  "value": "normal",
                  "description": "`normal` excludes damaged lots, `damaged` keeps only them, `any` pools both. Classifieds are always normal.",
                  "disabled": true
                },
                {
                  "key": "mileage",
                  "value": "1",
                  "description": "Odometer in km. Adds `mileage_adjusted_eur`: the median moved along the group's own price/mileage slope, capped at ±35%; and sets the mileage of `prediction`.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "",
                  "description": "ISO 3166-1 alpha-2 country of the car.",
                  "disabled": true
                },
                {
                  "key": "kinds",
                  "value": "",
                  "description": "Comma-separated subset of retail, auction, buy_now, unsold.",
                  "disabled": true
                },
                {
                  "key": "trend_months",
                  "value": "12",
                  "description": "Months of trend history including the current one.",
                  "disabled": true
                },
                {
                  "key": "trend_weeks",
                  "value": "12",
                  "description": "Weeks of legacy trend history.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "What a make/model is worth, from four kinds of price kept apart:\n`retail` (classified asking prices: Europe, Korea, China), `auction`\n(closing price of finished lots: the published result where the source\nhas one, else the last bid seen), `unsold` (closing price of a lot whose\ncar came back to the same platform within 60 days, or, on Japanese\nauctions and Copart, that closed without a published result: a price it\ndid not sell at; a car is its VIN on one platform, else its lot id) and\n`buy_now` (B2B buy-now prices).\n\n`exact` applies `year` and `engine` as given; `range` widens them by\n`year_flex` / `engine_flex` (or uses `year_from`/`year_to`). Countries,\nthe cheapest/dearest ranking (countries with at least 5 observations)\nand the weekly/monthly trends are read from the range. `country` narrows\n`exact`/`range`/`trend`/`time_to_sell`; `worldwide` and `countries`\nalways cover every country.\n\nEach price kind in `trend` retains `weekly` and `change_pct` (latest\nfour weeks against the four before) and adds `monthly` and\n`monthly_change_pct` (latest three months against the three before).\nBefore the first new build, monthly arrays are empty and time-to-sell\nvalues are null; existing weekly results remain available.\n\n`time_to_sell` (overall and per country) has `retail` and `auction`,\neach the Kaplan-Meier median days to sell with cars still offered\ncounted as censored (`median_days`, or `over_days` while over half are\nunsold), `sold_within_pct` within `sold_within_days`, `sold` and\n`listings`. Retail: until a classified left the market (not proof of a\nsale); theparking shows an exit only while an advert is under ~30 days\nold, to within its 10-day refresh; Guazi is not measured. Auction: from a\ncar's first lot to the close it sold at, its re-runs on one platform\nwithin 60 days being one attempt. Null below 5 sales.\n\n`price_bands` has, per `retail`/`auction`, five bands around that\nkind's range median (under -15%, -15..-5%, ±5%, +5..+15%, over +15%)\nwith the `time_to_sell` at that price and, for auctions, `closes` and\n`sold_pct` (share of closes there whose car did not come back).\n\n`prediction` is a price model's estimate, available also where few or\nno cars match: `prediction.estimates.<kind>` (null before the first\nmodel build, or for a kind with no cars of this model) has\n`estimate_eur` (median) for the year, `mileage`, fuel, gearbox, engine,\ncondition and country asked (unspecified ones take the matching cars'\naverage), `range_50_eur` / `range_80_eur` (where an individual car's\nprice falls, calibrated on cars held out of the fit), `basis`\n(`model`, `blended` or `comparables`), `comparables`,\n`comparables_weight_pct`, `comparables_deviation_pct`,\n`model_observations`, `per_year_older_pct`, `per_10k_km_pct`,\n`outside_data` (year / mileage beyond this model's data), `by_mileage`\nand `by_year` (the estimate across mileages and years; with no\n`mileage`, each year at the typical mileage for its age).\n`prediction.accuracy.<kind>` reports held-out test error and range\ncoverage; `prediction.methodology` describes the model.\nBuilt nightly; `built` says when.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "ships",
      "item": [
        {
          "name": "GET /api/vessels/search",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vessels/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vessels",
                "search"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "Name, MMSI, IMO or call sign; at least 3 characters.",
                  "disabled": false
                },
                {
                  "key": "limit",
                  "value": "20",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "online",
                  "value": "true",
                  "description": "Allow the VesselFinder fallback.",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Looks through every vessel our AIS feed and earlier look-ups have seen:\nexact MMSI (9 digits), IMO (7 digits, `IMO` prefix optional), call sign,\nor any part of the name. When nothing is known and `q` is a name, the\nexact name is looked up on VesselFinder's public search and remembered\n(`source: vesselfinder`); set `online=false` to skip that.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/vessels/{mmsi}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vessels/:mmsi",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vessels",
                ":mmsi"
              ],
              "query": [
                {
                  "key": "refresh",
                  "value": "true",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "mmsi",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "description": "Identity (IMO, call sign, type, dimensions, draught), declared destination\nand ETA, the latest position with speed, course, heading and navigational\nstatus, voyage progress where known, and how much track we hold.\n\nWhen our latest fix is older than 30 minutes it is refreshed from\nMarineTraffic (then Digitraffic) during the request; `refresh=false`\nanswers from what is stored. `tracked_live` says whether the vessel is in\nthe live AIS subscription right now.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/vessels/{mmsi}/track",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vessels/:mmsi/track",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vessels",
                ":mmsi",
                "track"
              ],
              "query": [
                {
                  "key": "since",
                  "value": "",
                  "description": "ISO 8601 date or datetime.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "500",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "mmsi",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "description": "Positions we recorded, oldest first, thinned evenly to at most `limit` points."
          },
          "response": []
        },
        {
          "name": "GET /api/shipments",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/shipments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "shipments"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "active",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "1",
                  "description": "Page size. Capped at `pagination.max_limit` from `GET /api/contract`\n(100 by default; up to 500 for a key granted bulk pages); larger values\nare clamped down rather than rejected. Do not combine with `page_size`\n— that is a `400`.\n",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "1",
                  "description": "0-based row offset. Do not combine with `page` — that is a `400`.\nBounded by `pagination.max_offset` (5000 by default) on archive, catalog, top-offers and classifieds; /api/search and /api/listVehicles have no offset cap.\n",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "`q` matches the reference, tracking / B/L / container / booking number,\nvessel name, MMSI or IMO, ignoring case and punctuation.\n"
          },
          "response": []
        },
        {
          "name": "POST /api/shipments",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/shipments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "shipments"
              ],
              "query": [],
              "variable": []
            },
            "description": "Give the vessel as `mmsi`, `imo` or `vessel_name` (a name is resolved to\nan MMSI; `vessel_resolved` says whether that worked). Every other field\nis yours to search by later. Active shipments are followed by the live\nAIS feed until 14 days after `eta` (90 days after creation without one),\nwithin a system-wide 50-vessel subscription that our own shipments fill\nfirst. At most 25 active shipments per key.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "GET /api/shipments/{shipment_id}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/shipments/:shipment_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "shipments",
                ":shipment_id"
              ],
              "query": [
                {
                  "key": "track_limit",
                  "value": "500",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "shipment_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "The shipment, the vessel as `/api/vessels/{mmsi}` returns it, and the vessel's track since the shipment was registered."
          },
          "response": []
        },
        {
          "name": "PATCH /api/shipments/{shipment_id}",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/shipments/:shipment_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "shipments",
                ":shipment_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "shipment_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Any field from the create body, plus `status` (`active`, `arrived`, `cancelled`). A new vessel name or IMO re-resolves the MMSI.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DELETE /api/shipments/{shipment_id}",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/shipments/:shipment_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "shipments",
                ":shipment_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "shipment_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Marks it `cancelled`; it stays readable."
          },
          "response": []
        }
      ]
    },
    {
      "name": "watches",
      "item": [
        {
          "name": "GET /api/watches",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/watches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "watches"
              ],
              "query": [],
              "variable": []
            },
            "description": "The calling key's watches"
          },
          "response": []
        },
        {
          "name": "POST /api/watches",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/watches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "watches"
              ],
              "query": [],
              "variable": []
            },
            "description": "`criteria` is one object or a list of up to 10 (a car matching any of\nthem matches the watch). Each needs a `make` from `/api/brands`.\n`price_from` / `max_price` compare against the landed-in-Bulgaria price,\nwhich includes duty and import VAT for cars outside the EU; every match\nalso carries the source price.\n\nEvery source is scanned every 10 minutes: all auction sources the key\nmay use and, when `include_classifieds` is true and the key has the\nclassifieds scope, the European classifieds. The first scan records\nwhat already matches with `initial: true`; later scans add only cars\nlisted since. With `webhook_url` (https, public address) each batch of\nnew matches is POSTed with `X-Watch-Timestamp` and\n`X-Watch-Signature: sha256=<hex HMAC-SHA256 of \"<timestamp>.<body>\">`\nunder `webhook_secret`, which is returned only here and when rotated.\nA webhook that fails 20 times in a row is switched off; matches keep\naccumulating for polling.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"criteria\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "GET /api/watches/{watch_id}",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/watches/:watch_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "watches",
                ":watch_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "watch_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "One watch"
          },
          "response": []
        },
        {
          "name": "PATCH /api/watches/{watch_id}",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/watches/:watch_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "watches",
                ":watch_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "watch_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Any of `name`, `criteria` (restarts the baseline), `include_classifieds`,\n`webhook_url` (empty to remove), `webhook_enabled`, `active`, and\n`rotate_secret: true` for a new webhook secret.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DELETE /api/watches/{watch_id}",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/watches/:watch_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "watches",
                ":watch_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "watch_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Delete a watch and its matches"
          },
          "response": []
        },
        {
          "name": "GET /api/watches/{watch_id}/matches",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/watches/:watch_id/matches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "watches",
                ":watch_id",
                "matches"
              ],
              "query": [
                {
                  "key": "after_id",
                  "value": "0",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "include_initial",
                  "value": "true",
                  "description": "false skips what already matched when the watch was created.",
                  "disabled": true
                },
                {
                  "key": "source",
                  "value": "auction",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "100",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "watch_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Poll with `after_id` set to the last `next_after_id` you received: the\nid is a stable cursor, so nothing is missed or repeated. `vehicle` is\nthe match as it looked when found, with `api_url` (auctions) or `url`\n(classifieds, the original ad) to read it now.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "carvalue",
      "item": [
        {
          "name": "GET /api/carvalue/access",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/carvalue/access",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "carvalue",
                "access"
              ],
              "query": [],
              "variable": []
            },
            "description": "Whether the key's account may use CarValue"
          },
          "response": []
        },
        {
          "name": "GET /api/carvalue/options",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/carvalue/options",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "carvalue",
                "options"
              ],
              "query": [
                {
                  "key": "brand_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "With no parameters, the makes. With `brand_id`, that make's models.\nWith `brand_id` and `model_id`, the model's years, engines, fuels,\ngearboxes and countries. Read from the data the valuation holds.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/carvalue/valuation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/carvalue/valuation",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "carvalue",
                "valuation"
              ],
              "query": [
                {
                  "key": "vin",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "brand_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "model_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "year",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "year_flex",
                  "value": "1",
                  "description": "Years either side of `year` for the range block.",
                  "disabled": true
                },
                {
                  "key": "engine",
                  "value": "1",
                  "description": "Litres.",
                  "disabled": true
                },
                {
                  "key": "engine_flex",
                  "value": "0.2",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "fuel",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "gearbox",
                  "value": "Automatic",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "condition",
                  "value": "normal",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "mileage",
                  "value": "1",
                  "description": "Kilometres; adjusts the estimate.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "trend_months",
                  "value": "1",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offers_kind",
                  "value": "",
                  "description": "Limit reference offers to one kind of price.",
                  "disabled": true
                },
                {
                  "key": "offers_offset",
                  "value": "0",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Give a `vin`, or `brand_id` and `model_id` from `/api/carvalue/options`.\nA VIN is decoded to make, model, year, engine, fuel and gearbox, which\nthen override those parameters. The response has `valuation` (retail,\nauction and buy-now prices, per country, trend, time to sell and\nreference offers, 24 per page from `offers_offset`) and `vehicle`, the\ndecoded VIN (null without one).\n"
          },
          "response": []
        },
        {
          "name": "POST /api/carvalue/scan",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/carvalue/scan",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "carvalue",
                "scan"
              ],
              "query": [],
              "variable": []
            },
            "description": "The body is the image itself (JPEG or PNG, at most 1 MB). `reads` has\nup to three VINs, best first, each with `quad` (where it is printed,\nas fractions of the image size, or null) and `votes` (how many\nagreeing reads a scanner should collect before accepting it). A 429\nmeans the scanner is busy: send the next frame after `Retry-After`.\nIt is not charged.\n"
          },
          "response": []
        }
      ]
    },
    {
      "name": "vehiclescan",
      "item": [
        {
          "name": "GET /api/vehiclescan/access",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/access",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "access"
              ],
              "query": [],
              "variable": []
            },
            "description": "`limits`: requests per account, vehicles per request, matches returned per request."
          },
          "response": []
        },
        {
          "name": "GET /api/vehiclescan/options",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/options",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "options"
              ],
              "query": [
                {
                  "key": "brand",
                  "value": "",
                  "description": "Returns this make's `models` instead.",
                  "disabled": true
                },
                {
                  "key": "country",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Makes, fuels and gearboxes for a request, or one make's models"
          },
          "response": []
        },
        {
          "name": "GET /api/vehiclescan/requests",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests"
              ],
              "query": [],
              "variable": []
            },
            "description": "The same requests the account sees in the portal."
          },
          "response": []
        },
        {
          "name": "POST /api/vehiclescan/requests",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests"
              ],
              "query": [],
              "variable": []
            },
            "description": "`criteria` holds 1 to 5 vehicles, each with a `make`. Offers already\nlisted are matched at once (`matches_found`) but not marked new; the\nscraper cycle marks later ones `is_new`. Up to 20 requests per account.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"criteria\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "PUT /api/vehiclescan/requests/{request_id}",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests/:request_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests",
                ":request_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "request_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Matching restarts from the offers listed now.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"criteria\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DELETE /api/vehiclescan/requests/{request_id}",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests/:request_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests",
                ":request_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "request_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Delete a request"
          },
          "response": []
        },
        {
          "name": "POST /api/vehiclescan/requests/{request_id}/active",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests/:request_id/active",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests",
                ":request_id",
                "active"
              ],
              "query": [],
              "variable": [
                {
                  "key": "request_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Pause or resume a request",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"active\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "GET /api/vehiclescan/requests/{request_id}/matches",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests/:request_id/matches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests",
                ":request_id",
                "matches"
              ],
              "query": [],
              "variable": [
                {
                  "key": "request_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "`offers` are auctions and `retail` are classifieds, up to 200 each\n(`limited` when there were more). `is_new` marks offers found since\nthe request was saved. Dismissed offers are left out.\n"
          },
          "response": []
        },
        {
          "name": "DELETE /api/vehiclescan/requests/{request_id}/matches/{auction_id}",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests/:request_id/matches/:auction_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests",
                ":request_id",
                "matches",
                ":auction_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "request_id",
                  "value": "1",
                  "description": ""
                },
                {
                  "key": "auction_id",
                  "value": "1",
                  "description": ""
                }
              ]
            },
            "description": "Dismiss an auction offer from a request"
          },
          "response": []
        },
        {
          "name": "DELETE /api/vehiclescan/requests/{request_id}/retail/{reference_id}",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/vehiclescan/requests/:request_id/retail/:reference_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "vehiclescan",
                "requests",
                ":request_id",
                "retail",
                ":reference_id"
              ],
              "query": [],
              "variable": [
                {
                  "key": "request_id",
                  "value": "1",
                  "description": ""
                },
                {
                  "key": "reference_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "description": "Dismiss a classifieds offer from a request"
          },
          "response": []
        }
      ]
    },
    {
      "name": "calculator",
      "item": [
        {
          "name": "GET /api/calculator/countries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/calculator/countries",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "calculator",
                "countries"
              ],
              "query": [],
              "variable": []
            },
            "description": "Supported origin and destination countries"
          },
          "response": []
        },
        {
          "name": "POST /api/calculator/calculate",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/calculator/calculate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "calculator",
                "calculate"
              ],
              "query": [],
              "variable": []
            },
            "description": "Duty and VAT rates come back as **percentages**, not fractions. These\nare estimates, not a binding quote.\n\n`site_name` selects the fee model. Fees come from that source profile\nrather than from a caller-supplied `db_tax`: a stored tax is only as\nfresh as the last price-modifier run.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"price\": 15000\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "seo",
      "item": [
        {
          "name": "GET /api/seo/popular-searches",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/seo/popular-searches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "seo",
                "popular-searches"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "20",
                  "description": "",
                  "disabled": true
                }
              ],
              "variable": []
            },
            "description": "Most common brand/model pairs in current inventory"
          },
          "response": []
        },
        {
          "name": "GET /api/seo/brand-model-from-slug",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/seo/brand-model-from-slug",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "seo",
                "brand-model-from-slug"
              ],
              "query": [
                {
                  "key": "brand_slug",
                  "value": "bmw",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "model_slug",
                  "value": "320d",
                  "description": "",
                  "disabled": false
                }
              ],
              "variable": []
            },
            "description": "Resolve a brand/model slug pair to canonical display names"
          },
          "response": []
        }
      ]
    },
    {
      "name": "ops",
      "item": [
        {
          "name": "GET /",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                ""
              ],
              "query": [],
              "variable": []
            },
            "description": "Human-readable endpoint listing"
          },
          "response": []
        },
        {
          "name": "GET /api/health/live",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/health/live",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "health",
                "live"
              ],
              "query": [],
              "variable": []
            },
            "description": "Unauthenticated. Always `200` while the process is up.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": []
        },
        {
          "name": "GET /api/health/ready",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/health/ready",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "health",
                "ready"
              ],
              "query": [],
              "variable": []
            },
            "description": "Unauthenticated.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": []
        },
        {
          "name": "GET /api/health",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/health",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "health"
              ],
              "query": [],
              "variable": []
            },
            "description": "`status` is `healthy` or `degraded`. A degraded response carries\n`schema_findings` describing what failed; the HTTP status stays `200`.\n"
          },
          "response": []
        },
        {
          "name": "GET /api/contract",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/contract",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "contract"
              ],
              "query": [],
              "variable": []
            },
            "description": "Read this once at startup. It is the authoritative source for the\npagination ceilings and for whether this deployment can refresh live\nprices at all — in a detail response, \"this deployment cannot refresh\nprices\" and \"this car has no live price right now\" look identical. The\n`live_prices` block is **absent** on a build from before the feature,\nwhich is the only way to tell those two apart.\n\nDo not hardcode `live_prices.sites`; read it from here.\n"
          },
          "response": []
        }
      ]
    }
  ]
}
