> ## Documentation Index
> Fetch the complete documentation index at: https://api.visor.vin/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List a dealer's inventory

> Returns listing summaries scoped to one dealer after VIN-level listing deduplication and ownership assignment. If a dealer feed contains a VIN that Freeway attributes to another dealer, that VIN may not appear here. Supports the listing filter and pagination surface.



## OpenAPI

````yaml /openapi.json get /v1/dealers/{dealer_id}/listings
openapi: 3.1.0
info:
  title: Visor Public API
  version: 1.0.0-beta
  summary: Vehicle listings, facets, VIN, and dealer data for API customers.
  description: >-
    Public beta API for customer integrations. Normal /v1 endpoints require
    Authorization: Bearer <api_key>. API keys are scoped to API accounts; usage
    is metered per request and billed from the account ledger. The OpenAPI
    document is available without authentication at /v1/openapi.json.
servers:
  - url: https://api.visor.vin
    description: Production public API
security:
  - bearerAuth: []
tags:
  - name: Inventory
  - name: Dealers
  - name: Usage
paths:
  /v1/dealers/{dealer_id}/listings:
    get:
      tags:
        - Dealers
      summary: List a dealer's inventory
      description: >-
        Returns listing summaries scoped to one dealer after VIN-level listing
        deduplication and ownership assignment. If a dealer feed contains a VIN
        that Freeway attributes to another dealer, that VIN may not appear here.
        Supports the listing filter and pagination surface.
      operationId: publicDealers.dealerListings
      parameters:
        - name: dealer_id
          in: path
          schema:
            type: string
            description: Dealer UUID.
          required: true
          description: Dealer UUID.
          example: b62c6042-b3a0-4a58-bc5b-55966bd1c68c
        - name: limit
          in: query
          schema:
            type: string
            description: Page size as an integer string. Defaults to 50; maximum 100.
          required: false
          description: Page size as an integer string. Defaults to 50; maximum 100.
          example: '2'
        - name: offset
          in: query
          schema:
            type: string
            description: Zero-based page offset as an integer string. Defaults to 0.
          required: false
          description: Zero-based page offset as an integer string. Defaults to 0.
        - name: sort
          in: query
          schema:
            type: string
            enum:
              - days_on_market
              - '-days_on_market'
              - listed_at
              - '-listed_at'
              - price
              - '-price'
              - miles
              - '-miles'
              - msrp
              - '-msrp'
              - discount
              - '-discount'
              - distance
            description: >-
              Sort order. Use field names with optional - for descending, for
              example price or -price. Defaults to days_on_market, which returns
              newest listings first. listed_at sorts by the first time Visor
              observed the listing. discount returns best discount from MSRP
              first. distance requires postal_code or latitude and longitude.
          required: false
          description: >-
            Sort order. Use field names with optional - for descending, for
            example price or -price. Defaults to days_on_market, which returns
            newest listings first. listed_at sorts by the first time Visor
            observed the listing. discount returns best discount from MSRP
            first. distance requires postal_code or latitude and longitude.
        - name: fields
          in: query
          schema:
            type: string
            description: >-
              Comma-separated public listing summary fields to return. This
              controls response projection only; filter-only parameters do not
              belong in fields. id and vin are always returned. Use default to
              include the default listing summary fieldset plus selected extras.
              Unknown fields are rejected. Supported fields: default, id, vin,
              year, make, model, trim, version, body_type, drivetrain,
              fuel_type, powertrain_type, transmission, engine, cylinders,
              doors, seating_capacity, exterior_color, interior_color,
              base_exterior_color, base_interior_color, msrp,
              discount_from_msrp, price, miles, days_on_market, listed_at,
              status, inventory_status, availability_status, inventory_type,
              stock_number, vdp_url, sold_date, dealer_id, dealer_name,
              dealer_type, city, state, postal_code, latitude, longitude,
              distance_miles, photo_urls, features, options_packages.
          required: false
          description: >-
            Comma-separated public listing summary fields to return. This
            controls response projection only; filter-only parameters do not
            belong in fields. id and vin are always returned. Use default to
            include the default listing summary fieldset plus selected extras.
            Unknown fields are rejected. Supported fields: default, id, vin,
            year, make, model, trim, version, body_type, drivetrain, fuel_type,
            powertrain_type, transmission, engine, cylinders, doors,
            seating_capacity, exterior_color, interior_color,
            base_exterior_color, base_interior_color, msrp, discount_from_msrp,
            price, miles, days_on_market, listed_at, status, inventory_status,
            availability_status, inventory_type, stock_number, vdp_url,
            sold_date, dealer_id, dealer_name, dealer_type, city, state,
            postal_code, latitude, longitude, distance_miles, photo_urls,
            features, options_packages.
          example: default,price,miles,vdp_url
        - name: include
          in: query
          schema:
            type: string
            description: >-
              Comma-separated optional expansions. Supported values are
              price_history and options.
          required: false
          description: >-
            Comma-separated optional expansions. Supported values are
            price_history and options.
        - name: make
          in: query
          schema:
            type: string
            description: Comma-separated make names or slugs, for example toyota,honda.
          required: false
          description: Comma-separated make names or slugs, for example toyota,honda.
        - name: model
          in: query
          schema:
            type: string
            description: >-
              Comma-separated model names or slugs. Combine with make when
              possible for narrower results.
          required: false
          description: >-
            Comma-separated model names or slugs. Combine with make when
            possible for narrower results.
        - name: model_code
          in: query
          schema:
            type: string
            description: Comma-separated manufacturer model codes.
          required: false
          description: Comma-separated manufacturer model codes.
        - name: trim
          in: query
          schema:
            type: string
            description: Comma-separated trim names.
          required: false
          description: Comma-separated trim names.
        - name: year
          in: query
          schema:
            type: string
            description: Comma-separated model years, for example 2023,2024.
          required: false
          description: Comma-separated model years, for example 2023,2024.
        - name: state
          in: query
          schema:
            type: string
            description: Comma-separated two-letter dealer states, for example CA,TX.
          required: false
          description: Comma-separated two-letter dealer states, for example CA,TX.
        - name: dealer_id
          in: query
          schema:
            type: string
            description: >-
              Comma-separated dealer UUIDs. Accepts up to 50 dealer IDs and uses
              dealer-filtered listing metering.
          required: false
          description: >-
            Comma-separated dealer UUIDs. Accepts up to 50 dealer IDs and uses
            dealer-filtered listing metering.
          example: b62c6042-b3a0-4a58-bc5b-55966bd1c68c
        - name: dealer_type
          in: query
          schema:
            type: string
            description: Comma-separated dealer types, for example franchise,independent.
          required: false
          description: Comma-separated dealer types, for example franchise,independent.
        - name: availability_status
          in: query
          schema:
            type: string
            description: 'Comma-separated availability statuses: stock, transit, build.'
          required: false
          description: 'Comma-separated availability statuses: stock, transit, build.'
        - name: inventory_type
          in: query
          schema:
            type: string
            description: >-
              Comma-separated inventory classes: new, used, certified. cpo is
              accepted as an alias for certified.
          required: false
          description: >-
            Comma-separated inventory classes: new, used, certified. cpo is
            accepted as an alias for certified.
        - name: body_type
          in: query
          schema:
            type: string
            description: Comma-separated body types.
          required: false
          description: Comma-separated body types.
        - name: transmission
          in: query
          schema:
            type: string
            description: Comma-separated transmission values.
          required: false
          description: Comma-separated transmission values.
        - name: drivetrain
          in: query
          schema:
            type: string
            description: Comma-separated drivetrain values.
          required: false
          description: Comma-separated drivetrain values.
        - name: assembly_location
          in: query
          schema:
            type: string
            description: >-
              Pipe-separated assembly locations. Uses | because locations often
              contain commas.
          required: false
          description: >-
            Pipe-separated assembly locations. Uses | because locations often
            contain commas.
        - name: assembly_country
          in: query
          schema:
            type: string
            description: Comma-separated assembly country values.
          required: false
          description: Comma-separated assembly country values.
        - name: fuel_type
          in: query
          schema:
            type: string
            description: Comma-separated fuel type values.
          required: false
          description: Comma-separated fuel type values.
        - name: powertrain_type
          in: query
          schema:
            type: string
            description: Comma-separated powertrain type values.
          required: false
          description: Comma-separated powertrain type values.
        - name: engine
          in: query
          schema:
            type: string
            description: Comma-separated engine descriptions.
          required: false
          description: Comma-separated engine descriptions.
        - name: version
          in: query
          schema:
            type: string
            description: Comma-separated vehicle version values.
          required: false
          description: Comma-separated vehicle version values.
        - name: exterior_color
          in: query
          schema:
            type: string
            description: Comma-separated exterior color values.
          required: false
          description: Comma-separated exterior color values.
        - name: interior_color
          in: query
          schema:
            type: string
            description: Comma-separated interior color values.
          required: false
          description: Comma-separated interior color values.
        - name: base_exterior_color
          in: query
          schema:
            type: string
            description: Comma-separated normalized exterior color values.
          required: false
          description: Comma-separated normalized exterior color values.
        - name: base_interior_color
          in: query
          schema:
            type: string
            description: Comma-separated normalized interior color values.
          required: false
          description: Comma-separated normalized interior color values.
        - name: seating_capacity
          in: query
          schema:
            type: string
            description: Comma-separated seating capacity integers.
          required: false
          description: Comma-separated seating capacity integers.
        - name: cylinders
          in: query
          schema:
            type: string
            description: Comma-separated cylinder count integers.
          required: false
          description: Comma-separated cylinder count integers.
        - name: doors
          in: query
          schema:
            type: string
            description: Comma-separated door count integers.
          required: false
          description: Comma-separated door count integers.
        - name: options_packages
          in: query
          schema:
            type: string
            description: Comma-separated manufacturer option/package codes.
          required: false
          description: Comma-separated manufacturer option/package codes.
        - name: features
          in: query
          schema:
            type: string
            description: Comma-separated feature tokens.
          required: false
          description: Comma-separated feature tokens.
        - name: keywords
          in: query
          schema:
            type: string
            description: >-
              Comma-separated provenance/history keyword tokens. Supported
              values: one_owner, clean_title, branded, fleet. Positive tokens
              must be present; negative history tokens are excluded.
          required: false
          description: >-
            Comma-separated provenance/history keyword tokens. Supported values:
            one_owner, clean_title, branded, fleet. Positive tokens must be
            present; negative history tokens are excluded.
        - name: vin_pattern
          in: query
          schema:
            type: string
            description: >-
              Comma-separated VIN masks, up to 10 distinct patterns. VIN
              characters match themselves, ? matches one VIN position, and * is
              allowed only at the end. Short masks are treated as prefixes, for
              example 1HG or 1HGCM826*.
          required: false
          description: >-
            Comma-separated VIN masks, up to 10 distinct patterns. VIN
            characters match themselves, ? matches one VIN position, and * is
            allowed only at the end. Short masks are treated as prefixes, for
            example 1HG or 1HGCM826*.
        - name: exclude_make
          in: query
          schema:
            type: string
            description: Comma-separated makes to exclude.
          required: false
          description: Comma-separated makes to exclude.
        - name: exclude_model
          in: query
          schema:
            type: string
            description: Comma-separated models to exclude.
          required: false
          description: Comma-separated models to exclude.
        - name: exclude_trim
          in: query
          schema:
            type: string
            description: Comma-separated trims to exclude.
          required: false
          description: Comma-separated trims to exclude.
        - name: exclude_year
          in: query
          schema:
            type: string
            description: Comma-separated model years to exclude.
          required: false
          description: Comma-separated model years to exclude.
        - name: exclude_state
          in: query
          schema:
            type: string
            description: Comma-separated dealer states to exclude.
          required: false
          description: Comma-separated dealer states to exclude.
        - name: exclude_inventory_type
          in: query
          schema:
            type: string
            description: >-
              Comma-separated inventory classes to exclude: new, used,
              certified. cpo is accepted as an alias for certified.
          required: false
          description: >-
            Comma-separated inventory classes to exclude: new, used, certified.
            cpo is accepted as an alias for certified.
        - name: exclude_body_type
          in: query
          schema:
            type: string
            description: Comma-separated body types to exclude.
          required: false
          description: Comma-separated body types to exclude.
        - name: exclude_transmission
          in: query
          schema:
            type: string
            description: Comma-separated transmission values to exclude.
          required: false
          description: Comma-separated transmission values to exclude.
        - name: exclude_drivetrain
          in: query
          schema:
            type: string
            description: Comma-separated drivetrain values to exclude.
          required: false
          description: Comma-separated drivetrain values to exclude.
        - name: exclude_version
          in: query
          schema:
            type: string
            description: Comma-separated vehicle versions to exclude.
          required: false
          description: Comma-separated vehicle versions to exclude.
        - name: exclude_engine
          in: query
          schema:
            type: string
            description: Comma-separated engine descriptions to exclude.
          required: false
          description: Comma-separated engine descriptions to exclude.
        - name: exclude_assembly_location
          in: query
          schema:
            type: string
            description: >-
              Plus-separated assembly locations to exclude. Uses + to match the
              private API separator.
          required: false
          description: >-
            Plus-separated assembly locations to exclude. Uses + to match the
            private API separator.
        - name: exclude_assembly_country
          in: query
          schema:
            type: string
            description: Comma-separated assembly countries to exclude.
          required: false
          description: Comma-separated assembly countries to exclude.
        - name: exclude_exterior_color
          in: query
          schema:
            type: string
            description: Comma-separated exterior colors to exclude.
          required: false
          description: Comma-separated exterior colors to exclude.
        - name: exclude_interior_color
          in: query
          schema:
            type: string
            description: Comma-separated interior colors to exclude.
          required: false
          description: Comma-separated interior colors to exclude.
        - name: exclude_base_exterior_color
          in: query
          schema:
            type: string
            description: Comma-separated normalized exterior colors to exclude.
          required: false
          description: Comma-separated normalized exterior colors to exclude.
        - name: exclude_base_interior_color
          in: query
          schema:
            type: string
            description: Comma-separated normalized interior colors to exclude.
          required: false
          description: Comma-separated normalized interior colors to exclude.
        - name: exclude_options_packages
          in: query
          schema:
            type: string
            description: Comma-separated manufacturer option/package codes to exclude.
          required: false
          description: Comma-separated manufacturer option/package codes to exclude.
        - name: exclude_features
          in: query
          schema:
            type: string
            description: Comma-separated feature tokens to exclude.
          required: false
          description: Comma-separated feature tokens to exclude.
        - name: exclude_fuel_type
          in: query
          schema:
            type: string
            description: Comma-separated fuel types to exclude.
          required: false
          description: Comma-separated fuel types to exclude.
        - name: exclude_powertrain_type
          in: query
          schema:
            type: string
            description: Comma-separated powertrain types to exclude.
          required: false
          description: Comma-separated powertrain types to exclude.
        - name: exclude_keywords
          in: query
          schema:
            type: string
            description: Comma-separated keyword tokens to exclude.
          required: false
          description: Comma-separated keyword tokens to exclude.
        - name: inventory_status
          in: query
          schema:
            type: string
            enum:
              - active
              - sold
            description: >-
              Inventory mode. active is the default; sold searches historical
              sold inventory.
          required: false
          description: >-
            Inventory mode. active is the default; sold searches historical sold
            inventory.
        - name: listed_after
          in: query
          schema:
            type: string
            description: >-
              Return listings first observed by Visor on or after this ISO 8601
              timestamp, for example 2026-06-28T15:30:00Z.
          required: false
          description: >-
            Return listings first observed by Visor on or after this ISO 8601
            timestamp, for example 2026-06-28T15:30:00Z.
        - name: sold_within_days
          in: query
          schema:
            type: string
            description: >-
              Positive integer day window for sold inventory, for example 30.
              Cannot be combined with snapshot_date.
          required: false
          description: >-
            Positive integer day window for sold inventory, for example 30.
            Cannot be combined with snapshot_date.
        - name: snapshot_date
          in: query
          schema:
            type: string
            description: >-
              Historical active-inventory snapshot date in YYYY-MM-DD format.
              Cannot be combined with sold inventory filters.
          required: false
          description: >-
            Historical active-inventory snapshot date in YYYY-MM-DD format.
            Cannot be combined with sold inventory filters.
        - name: min_price
          in: query
          schema:
            type: string
            description: Minimum listed price in whole dollars.
          required: false
          description: Minimum listed price in whole dollars.
        - name: max_price
          in: query
          schema:
            type: string
            description: Maximum listed price in whole dollars.
          required: false
          description: Maximum listed price in whole dollars.
        - name: min_mileage
          in: query
          schema:
            type: string
            description: Minimum odometer mileage.
          required: false
          description: Minimum odometer mileage.
        - name: max_mileage
          in: query
          schema:
            type: string
            description: Maximum odometer mileage.
          required: false
          description: Maximum odometer mileage.
        - name: min_msrp
          in: query
          schema:
            type: string
            description: Minimum combined MSRP in whole dollars.
          required: false
          description: Minimum combined MSRP in whole dollars.
        - name: max_msrp
          in: query
          schema:
            type: string
            description: Maximum combined MSRP in whole dollars.
          required: false
          description: Maximum combined MSRP in whole dollars.
        - name: min_days_on_market
          in: query
          schema:
            type: string
            description: Minimum days on market.
          required: false
          description: Minimum days on market.
        - name: max_days_on_market
          in: query
          schema:
            type: string
            description: Maximum days on market.
          required: false
          description: Maximum days on market.
        - name: latitude
          in: query
          schema:
            type: string
            description: >-
              Search origin latitude for sort=distance, distance_miles, and
              radius filtering.
          required: false
          description: >-
            Search origin latitude for sort=distance, distance_miles, and radius
            filtering.
        - name: longitude
          in: query
          schema:
            type: string
            description: >-
              Search origin longitude for sort=distance, distance_miles, and
              radius filtering.
          required: false
          description: >-
            Search origin longitude for sort=distance, distance_miles, and
            radius filtering.
        - name: postal_code
          in: query
          schema:
            type: string
            description: >-
              US ZIP/postal search origin for sort=distance, distance_miles, and
              radius filtering.
          required: false
          description: >-
            US ZIP/postal search origin for sort=distance, distance_miles, and
            radius filtering.
        - name: radius
          in: query
          schema:
            type: string
            description: >-
              Maximum distance from the search origin, in miles. Requires
              postal_code or latitude and longitude. Maximum 500.
          required: false
          description: >-
            Maximum distance from the search origin, in miles. Requires
            postal_code or latitude and longitude. Maximum 500.
        - name: bbox
          in: query
          schema:
            type: string
            description: >-
              Map viewport as west,south,east,north. Cannot be combined with
              radius. Maximum diagonal is 1000 miles.
          required: false
          description: >-
            Map viewport as west,south,east,north. Cannot be combined with
            radius. Maximum diagonal is 1000 miles.
      responses:
        '200':
          description: Successful public API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Stable listing identifier for this inventory record.
                        vin:
                          type: string
                          description: Vehicle identification number.
                        year:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Model year when known.
                        make:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Vehicle make.
                        model:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Vehicle model.
                        trim:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Trim or package label when available.
                        version:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Vehicle version label.
                        body_type:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Body type.
                        drivetrain:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Drivetrain.
                        fuel_type:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Fuel type.
                        powertrain_type:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Powertrain type.
                        transmission:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Transmission.
                        engine:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Engine description.
                        cylinders:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Cylinder count.
                        doors:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Door count.
                        seating_capacity:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Seating capacity.
                        exterior_color:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Exterior color.
                        interior_color:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Interior color.
                        base_exterior_color:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Normalized exterior color.
                        base_interior_color:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Normalized interior color.
                        msrp:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Combined MSRP in whole dollars when available.
                        discount_from_msrp:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: >-
                            Fractional delta from MSRP when available. Negative
                            values are below MSRP, for example -0.12 means 12%
                            below MSRP.
                        price:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: >-
                            Listed price in whole dollars. Null when unavailable
                            or reported as zero.
                        miles:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Odometer mileage when available.
                        days_on_market:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: >-
                            Days the listing has been observed on market when
                            available.
                        listed_at:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            Timestamp when Visor first observed this listing
                            when available.
                        status:
                          type: string
                          enum:
                            - active
                            - sold
                          description: >-
                            Public listing availability classification for this
                            collection result.
                        inventory_status:
                          type: string
                          enum:
                            - active
                            - sold
                          description: >-
                            Deprecated alias for status, retained for beta
                            compatibility.
                        availability_status:
                          anyOf:
                            - type: string
                              enum:
                                - stock
                                - transit
                                - build
                            - type: 'null'
                          description: >-
                            Listing availability state when known: stock,
                            transit, or build.
                        inventory_type:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: 'Vehicle inventory class: new, used, or certified.'
                        stock_number:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Dealer stock number when available.
                        vdp_url:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Vehicle detail page URL when available.
                        sold_date:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            Best observed date the listing exited active
                            inventory as sold. Null for active inventory and
                            when unavailable.
                        dealer_id:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Dealer UUID associated with the listing.
                        dealer_name:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Dealer display name.
                        dealer_type:
                          anyOf:
                            - type: string
                              enum:
                                - franchise
                                - independent
                            - type: 'null'
                          description: >-
                            Dealer type associated with the listing when
                            available.
                        city:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Dealer city.
                        state:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Dealer state.
                        postal_code:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Dealer ZIP or postal code.
                        latitude:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Dealer latitude when available.
                        longitude:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Dealer longitude when available.
                        distance_miles:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: >-
                            Distance from postal_code or latitude/longitude when
                            supplied; otherwise null.
                        photo_urls:
                          type: array
                          items:
                            type: string
                          description: >-
                            Listing photo URLs, ordered with the primary image
                            first when available.
                        features:
                          type: array
                          items:
                            type: string
                          description: >-
                            Feature values for this listing when requested
                            through fields.
                        options_packages:
                          type: array
                          items:
                            type: string
                          description: >-
                            Manufacturer option/package codes for this listing
                            when requested through fields.
                        price_history:
                          type: array
                          items:
                            type: object
                            properties:
                              changed_at:
                                type: string
                                description: Timestamp of the price change.
                              miles:
                                anyOf:
                                  - type: number
                                  - type: 'null'
                                description: >-
                                  Observed odometer mileage at the price change
                                  when available.
                              price_before:
                                anyOf:
                                  - type: number
                                  - type: 'null'
                                description: Previous listed price in whole dollars.
                              price_after:
                                anyOf:
                                  - type: number
                                  - type: 'null'
                                description: New listed price in whole dollars.
                            required:
                              - changed_at
                              - miles
                              - price_before
                              - price_after
                            additionalProperties: false
                          description: >-
                            Observed price changes when include=price_history is
                            requested.
                        options:
                          type: array
                          items:
                            type: object
                            properties:
                              code:
                                type: string
                                description: Manufacturer option code.
                              name:
                                type: string
                                description: Option name.
                              msrp:
                                anyOf:
                                  - type: number
                                  - type: 'null'
                                description: Option MSRP in whole dollars when available.
                            required:
                              - code
                              - name
                              - msrp
                            additionalProperties: false
                            description: Listing option decoded from option/package codes.
                          description: >-
                            Installed options decoded from option/package codes
                            when include=options is requested.
                      required:
                        - id
                        - vin
                      additionalProperties: false
                      description: >-
                        Public listing summary returned by listing collection
                        endpoints.
                    description: Records returned for this page.
                  pagination:
                    type: object
                    properties:
                      limit:
                        type: number
                        description: >-
                          Maximum number of records requested for this page.
                          Collection endpoints default to 50; values above 100
                          are rejected.
                      offset:
                        type: number
                        description: Zero-based offset used to fetch this page.
                      total:
                        type: number
                        description: >-
                          Exact count for the same filters at request time. Use
                          as a paging aid rather than a durable snapshot.
                      next_offset:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: >-
                          Offset for the next page, or null when there are no
                          more records.
                    required:
                      - limit
                      - offset
                      - total
                      - next_offset
                    additionalProperties: false
                    description: >-
                      Offset pagination metadata returned by collection
                      endpoints.
                  meta:
                    type: object
                    description: >-
                      Reserved metadata object. It is empty for the beta
                      contract unless an endpoint documents otherwise.
                required:
                  - data
                  - pagination
                  - meta
                additionalProperties: false
              examples:
                success:
                  summary: Attributed inventory for one dealer
                  value:
                    data:
                      - id: 03738526521c9c73b36cbc2fc28f8891
                        vin: 3TMLB5JN3TM286572
                        year: 2026
                        make: Toyota
                        model: Tacoma
                        trim: SR5
                        price: 41903
                        miles: 0
                        status: active
                        inventory_status: active
                        inventory_type: new
                        dealer_id: b62c6042-b3a0-4a58-bc5b-55966bd1c68c
                        dealer_name: Claremont Toyota
                        city: Claremont
                        state: CA
                        vdp_url: >-
                          https://www.claremonttoyota.com/viewdetails/new/3tmlb5jn3tm286572
                    pagination:
                      limit: 2
                      offset: 0
                      total: 1656
                      next_offset: 2
                    meta: {}
          headers:
            X-Usage-Class:
              description: >-
                Metering class used for the request, for example listing_search,
                listing_search_enriched, facet_counts_historical,
                vehicle_detail_enriched, or dealer_lookup.
              schema:
                type: string
            X-Usage-Cost-Micros:
              description: >-
                Usage cost for this request in integer USD micros. 1000000
                micros equals 1 USD.
              schema:
                type: string
            X-Pricing-Version:
              description: Pricing catalog version UUID used to calculate the request cost.
              schema:
                type: string
            X-RateLimit-Tier:
              description: Effective account Usage Tier code used for rate limiting.
              schema:
                type: string
            X-RateLimit-Limit-10s:
              description: Maximum requests allowed in the 10-second burst window.
              schema:
                type: string
            X-RateLimit-Remaining-10s:
              description: >-
                Remaining requests in the current 10-second burst window after
                this request.
              schema:
                type: string
            X-RateLimit-Limit-60s:
              description: Maximum requests allowed in the 60-second sustained window.
              schema:
                type: string
            X-RateLimit-Remaining-60s:
              description: >-
                Remaining requests in the current 60-second sustained window
                after this request.
              schema:
                type: string
        '400':
          description: >-
            Invalid path or query parameter. Unknown query parameters are
            rejected.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiValidationError'
        '401':
          description: Missing, malformed, or invalid Authorization bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiAuthenticationError'
        '402':
          description: The API account is blocked by billing state or prepaid balance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiBillingError'
        '403':
          description: The API key is valid but does not include the required scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiPermissionError'
        '429':
          description: >-
            The API account exceeded the public API rate limit. Retry-After is
            included when available.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiRateLimitError'
        '503':
          description: >-
            The platform could not price, meter, rate-limit, or fetch data for
            the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiPlatformError'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicApiValidationError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiValidationError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiAuthenticationError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiAuthenticationError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiBillingError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiBillingError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiPermissionError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiPermissionError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiRateLimitError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiRateLimitError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
        retryAfter:
          type: number
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiPlatformError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiPlatformError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Send API keys as Authorization: Bearer <api_key>. Query-string API keys
        are rejected.

````