Live franchised-dealer inventory, quotes, and consented salesperson handoffs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Out-the-door quote for one available unit at a named rooftop. Anonymous calls are stateless; authenticated calls persist a deal thread. Anonymous calls persist nothing; quote_preview is the read-only equivalent for browsing. Fee schedules may be incomplete — an unlisted fee is not a guarantee that no such fee applies; confirm final charges with the dealer. Totals are estimates at best; when pricing_coverage is "partial_estimate", present the total as a subtotal excluding the charges in excluded. Always relay pricing_disclosure.
Required when authenticated (durable quote); ignored meaningfully only with an agent key.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Out-the-door quote for one available unit at a named rooftop. Anonymous calls are stateless; authenticated calls persist a deal thread. Anonymous calls persist nothing; quote_preview is the read-only equivalent for browsing. Fee schedules may be incomplete — an unlisted fee is not a guarantee that no such fee applies; confirm final charges with the dealer. Totals are estimates at best; when pricing_coverage is "partial_estimate", present the total as a subtotal excluding the charges in excluded. Always relay pricing_disclosure.
| Argument | Type | Description |
|---|---|---|
| identity* | string | |
| rooftop_slug* | string | |
| idempotency_key | string | Required when authenticated (durable quote); ignored meaningfully only with an agent key. |
{
"type": "object",
"required": [
"identity",
"rooftop_slug"
],
"properties": {
"identity": {
"type": "string",
"maxLength": 30,
"minLength": 5
},
"rooftop_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Required when authenticated (durable quote); ignored meaningfully only with an agent key."
}
},
"additionalProperties": false
}State synchronization for a mirror built from network_snapshot: pass the sync_cursor and receive upserts (current rows in the same view) and tombstones since that position, with has_more and next_cursor. Bounded eventual consistency: take a fresh snapshot at least every 24 hours and whenever resync_required is true. Example: {"cursor": "<sync_cursor from network_snapshot>"}. Pass country=CA for Canadian dealers.
| Argument | Type | Description |
|---|---|---|
| view | any | |
| cursor* | string | |
| country | string | Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles. |
| rooftop_slug | string |
{
"type": "object",
"required": [
"cursor"
],
"properties": {
"view": {
"enum": [
"manifest",
"summary",
"full"
]
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 8
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"default": "US",
"description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles."
},
"rooftop_slug": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
}
},
"additionalProperties": false
}Price context for one vehicle against like units across the network (same make, model, exact model year, condition; optional trim and geo). Example: {"identity": "<VIN>", "rooftop_slug": "mms"} or {"make": "Subaru", "model": "Outback", "model_year": 2024, "condition": "used"}. Returns count, price quartiles, the subject's rank and up to 5 cheapest peers. Advertised prices only; call quote_preview for a total. Pass country=CA for Canadian dealers.
| Argument | Type | Description |
|---|---|---|
| make | string | |
| trim | string | |
| model | string | |
| country | string | Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles. |
| currency | string | |
| identity | string | |
| latitude | number | |
| condition | any | |
| longitude | number |
Fetch one available unit by identity (VIN) from a named rooftop (rooftop_slug from network_search results). Returns the full detail shape — ordered photo gallery, options, plain-text description; embed the first few photo_urls as markdown images when presenting the vehicle. Unknown or ineligible identity/rooftop returns unit_not_found. Listed prices may exclude doc/government fees and tax — call quote_preview for the estimated total. Totals are estimates at best; when pricing_coverage is "partial_estimate", present the total as a subtotal excluding the charges in excluded. Always relay pricing_disclosure.
| Argument | Type | Description |
|---|---|---|
| country | string | Optional consistency assertion: must equal the rooftop's country; omit it unless you are checking. |
| identity* | string | |
| rooftop_slug* | string |
{
"type": "object",
"required": [
"identity",
"rooftop_slug"
],
"properties": {
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"description": "Optional consistency assertion: must equal the rooftop's country; omit it unless you are checking."
},
"identity": {
"type": "string",
"maxLength": 30,
"minLength": 5
},
"rooftop_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}Aggregate available inventory across the network in ONE call: counts, effective-price min/median/max and the top values per facet. Example: {"dimensions": ["make_model", "body_style"], "condition": "used", "rooftop_slugs": ["mms"]}. Geo (latitude and longitude, optional radius_miles) and oem_program_slug scope exactly as network_search. Pivot mode (group_by, up to 2 of the facets plus state, dealer_group, price_band, age_band) returns one row per group with count and medians; dimensions and group_by are mutually exclusive; format csv returns the rows as CSV. Pass country=CA for Canadian dealers.
| Argument | Type | Description |
|---|---|---|
| make | any | |
| trim | string | |
| model | any | |
| format | any | |
| country | string | Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles. |
| group_by | array | |
| latitude | number | |
| condition | any | |
Prepare a named dealership's exact contact disclosure and a short-lived signed binding.
| Argument | Type | Description |
|---|---|---|
| channels* | array | |
| comments | string | |
| customer* | object | |
| rooftop_slug* | string | |
| include_quote | boolean | Set false when the shopper was not shown a quote: the disclosure then makes no price claim and quote_included is false. |
| unit_identity* | string |
{
"type": "object",
"required": [
"rooftop_slug",
"unit_identity",
"customer",
"channels"
],
"properties": {
"channels": {
"type": "array",
"items": {
"enum": [
"email",
"phone"
]
},
"maxItems": 2,
"minItems": 1,
"uniqueItems": true
},
"comments": {
"type": "string",
"maxLength": 2000
},
"customer": {
"type": "object",
"anyOf": [
{
"required": [
"email"
]
},
{
"required": [
"phone"
]
}
],
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"minLength": 6
},
"phone": {
"type": "string",
"pattern": "^(?=(?:[^0-9]*[0-9]){7,15}[^0-9]*$)\\+?[0-9()\\-. ]+$",
"maxLength": 30,
"minLength": 7
}
},
"additionalProperties": false
},
"rooftop_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"include_quote": {
"type": "boolean",
"default": true,
"description": "Set false when the shopper was not shown a quote: the disclosure then makes no price claim and quote_included is false."
},
"unit_identity": {
"type": "string",
"maxLength": 30,
"minLength": 5
}
},
"description": "customer.email requires channels to include email. customer.phone requires channels to include phone.",
"additionalProperties": false
}Submit the shopper's bound contact request to the named dealership.
| Argument | Type | Description |
|---|---|---|
| binding* | string | |
| comments | string | |
| customer* | object | |
| rooftop_slug* | string | |
| disclosure_text* | string |
{
"type": "object",
"required": [
"rooftop_slug",
"binding",
"disclosure_text",
"customer"
],
"properties": {
"binding": {
"type": "string",
"maxLength": 16384,
"minLength": 1
},
"comments": {
"type": "string",
"maxLength": 2000
},
"customer": {
"type": "object",
"anyOf": [
{
"required": [
"email"
]
},
{
"required": [
"phone"
]
}
],
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"minLength": 6
},
"phone": {
"type": "string",
"pattern": "^(?=(?:[^0-9]*[0-9]){7,15}[^0-9]*$)\\+?[0-9()\\-. ]+$",
"maxLength": 30,
"minLength": 7
}
},
"additionalProperties": false
},
"rooftop_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"disclosure_text": {
"type": "string",
"maxLength": 5000,
"minLength": 10
}
},
"additionalProperties": false
}Directory of active ADN rooftops: slug, name, dealer group, OEM programs, location metadata, and per-rooftop manifest URL. Pass country=CA for Canadian dealers.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| country | string | Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"offset": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"default": "US",
"description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles."
}
},
"additionalProperties": false
}Browse available inventory across the network, one page at a time. For counts or distributions call inventory_stats; to copy the catalog call network_snapshot (one download replaces hundreds of pages). Results are slim summary rows; embed hero_photo_url as a markdown image when presenting a vehicle, and call inventory_get with rooftop_slug for its full photo gallery. Optional OEM program scope; optional geographic radius — latitude and longitude together; radius_miles defaults to 50 (max 500) and needs both. Rooftops without coordinates are excluded from geo-scoped results. Pass country=CA for Canadian dealers. Listed prices may exclude doc/government fees and tax — call quote_preview for the estimated total. Totals are estimates at best; when pricing_coverage is "partial_estimate", present the total as a subtotal excluding the charges in excluded. Always relay pricing_disclosure.
| Argument | Type | Description |
|---|---|---|
| make | any | |
| sort | any | Optional ordering; defaults to price_asc. The sort key uses NULLS LAST and is deterministically terminated by rooftop and unit ids. distance requires latitude and longitude (radius_miles defaults to 50). |
| trim | string | |
| view | any | |
| limit | integer | 1–500 with view manifest; 1–50 for summary and full (server-enforced) |
| model | any |
Export the whole network catalog (or one rooftop with rooftop_slug) as one gzip artifact instead of paging: returns a descriptor with a generation URL, strong ETag, row and byte counts, expiry and (when available) sync_cursor; small results are inlined as rows_inline. Views: manifest (identity, pricing, key attributes; default), summary (the network_search row), full (the inventory_get row). Formats: csv (default), json. Example: {"view": "manifest", "format": "csv"}. Re-download only when the ETag changes; poll inventory_changes with sync_cursor to stay current. Pass country=CA for Canadian dealers.
| Argument | Type | Description |
|---|---|---|
| view | any | |
| format | any | |
| country | string | Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles. |
| rooftop_slug | string |
{
"type": "object",
"properties": {
"view": {
"enum": [
"manifest",
"summary",
"full"
],
"default": "manifest"
},
"format": {
"enum": [
"csv",
"json"
],
"default": "csv"
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"default": "US",
"description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles."
},
"rooftop_slug": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
}
},
"additionalProperties": false
}Read-only out-the-door price preview for one available unit at a named rooftop (pass rooftop_slug): base price plus itemized fees and taxes — fees already included in the listed price are flagged included_in_price and add nothing on top. Persists nothing; free to call while browsing. Fee schedules may be incomplete — an unlisted fee is not a guarantee that no such fee applies; confirm final charges with the dealer. Totals are estimates at best; when pricing_coverage is "partial_estimate", present the total as a subtotal excluding the charges in excluded. Always relay pricing_disclosure.
| Argument | Type | Description |
|---|---|---|
| identity* | string | |
| rooftop_slug* | string |
{
"type": "object",
"required": [
"identity",
"rooftop_slug"
],
"properties": {
"identity": {
"type": "string",
"maxLength": 30,
"minLength": 5
},
"rooftop_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}One named rooftop's store record: name, dealer group, OEM programs, location/contact metadata, and fee schedule. Pass rooftop_slug. Whether a specific unit's listed price already includes a fee varies per unit — quote_preview returns the estimated total. Fee schedules may be incomplete — an unlisted fee is not a guarantee that no such fee applies; confirm final charges with the dealer.
| Argument | Type | Description |
|---|---|---|
| rooftop_slug* | string |
{
"type": "object",
"required": [
"rooftop_slug"
],
"properties": {
"rooftop_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}| model_year | integer |
| radius_miles | number |
| rooftop_slug | string |
| model_year_expand | integer |
{
"type": "object",
"properties": {
"make": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"trim": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"model": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"default": "US",
"description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"identity": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"condition": {
"enum": [
"new",
"used"
]
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"model_year": {
"type": "integer",
"maximum": 2100,
"minimum": 1950
},
"radius_miles": {
"type": "number",
"maximum": 500,
"exclusiveMinimum": 0
},
"rooftop_slug": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"model_year_expand": {
"enum": [
0,
1
],
"type": "integer",
"default": 0
}
},
"description": "Server-enforced: latitude requires longitude; longitude requires latitude; radius_miles requires latitude and longitude. Exactly one of identity | make+model+model_year is required. Additional argument rules are enforced server-side.",
"additionalProperties": false
}| fuel_type |
| any |
| longitude | number |
| price_max | number | Maximum expiry-gated effective price. |
| price_min | number | Minimum expiry-gated effective price. |
| body_style | any |
| dimensions | array | One to four unique facets. make_model values join nonblank make and model with one space; rooftop values are rooftop slugs. |
| drivetrain | any |
| listed_only | boolean | When true, only units with at least one stored photo and a vehicle detail page (vdp_url). Absent or false returns every available unit, including stock the dealer has not merchandised yet. |
| is_certified | boolean |
| odometer_max | integer |
| radius_miles | number |
| transmission | any |
| rooftop_slugs | array | Restrict the single-snapshot aggregation to these network rooftops. |
| exterior_color | any |
| interior_color | any |
| model_year_max | integer |
| model_year_min | integer |
| oem_program_slug | string |
| passenger_capacity_min | integer |
{
"type": "object",
"properties": {
"make": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"trim": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"model": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"format": {
"enum": [
"json",
"csv"
]
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"default": "US",
"description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles."
},
"group_by": {
"type": "array",
"items": {
"enum": [
"make",
"model",
"make_model",
"condition",
"body_style",
"fuel_type",
"drivetrain",
"exterior_color",
"model_year",
"rooftop",
"state",
"dealer_group",
"price_band",
"age_band"
]
},
"maxItems": 2,
"minItems": 1,
"uniqueItems": true
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"condition": {
"enum": [
"new",
"used"
]
},
"fuel_type": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"price_max": {
"type": "number",
"maximum": 99999999.99,
"minimum": 0,
"description": "Maximum expiry-gated effective price."
},
"price_min": {
"type": "number",
"maximum": 99999999.99,
"minimum": 0,
"description": "Minimum expiry-gated effective price."
},
"body_style": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"dimensions": {
"type": "array",
"items": {
"enum": [
"make",
"model",
"make_model",
"condition",
"body_style",
"fuel_type",
"drivetrain",
"exterior_color",
"model_year",
"rooftop"
]
},
"maxItems": 4,
"minItems": 1,
"description": "One to four unique facets. make_model values join nonblank make and model with one space; rooftop values are rooftop slugs.",
"uniqueItems": true
},
"drivetrain": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"listed_only": {
"type": "boolean",
"description": "When true, only units with at least one stored photo and a vehicle detail page (vdp_url). Absent or false returns every available unit, including stock the dealer has not merchandised yet."
},
"is_certified": {
"type": "boolean"
},
"odometer_max": {
"type": "integer",
"minimum": 0
},
"radius_miles": {
"type": "number",
"maximum": 500,
"exclusiveMinimum": 0
},
"transmission": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"rooftop_slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"maxItems": 20,
"minItems": 1,
"description": "Restrict the single-snapshot aggregation to these network rooftops.",
"uniqueItems": true
},
"exterior_color": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"interior_color": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"model_year_max": {
"type": "integer",
"maximum": 2100,
"minimum": 1950
},
"model_year_min": {
"type": "integer",
"maximum": 2100,
"minimum": 1950
},
"oem_program_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"passenger_capacity_min": {
"type": "integer",
"maximum": 20,
"minimum": 1
}
},
"description": "Categorical arrays are ORed within their field; separate filter fields are ANDed together. Aggregation has no pagination or sorting input. Server-enforced: latitude requires longitude; longitude requires latitude; radius_miles requires latitude and longitude. Exactly one of dimensions | group_by is required. Additional argument rules are enforced server-side.",
"additionalProperties": false
}| format | any |
| offset | integer | Zero-based row offset. Results are totally ordered and stable for an unchanged catalog, but pagination is NOT snapshot-isolated: ingestion between two page requests shifts offsets, so a traversal may duplicate or omit rows. To copy the catalog consistently: record catalog_watermark AND total from the first page, compare both on every subsequent page, and restart the traversal if either changes. Narrowing by rooftop_slug shortens each traversal and so reduces the chance of a restart. Offsets beyond 10000 are rejected; narrow the query instead. |
| country | string | Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles. |
| latitude | number |
| condition | any |
| fuel_type | any |
| longitude | number |
| price_max | number | Maximum expiry-gated effective price: an unexpired special price when present, otherwise asking price. |
| price_min | number | Minimum expiry-gated effective price: an unexpired special price when present, otherwise asking price. |
| body_style | any |
| drivetrain | any |
| listed_only | boolean | When true, only units with at least one stored photo and a vehicle detail page (vdp_url). Absent or false returns every available unit, including stock the dealer has not merchandised yet. |
| is_certified | boolean |
| odometer_max | integer |
| radius_miles | number |
| rooftop_slug | string | Restrict results to one rooftop, as listed by network_directory. A slug that matches no rooftop returns no results rather than an error. |
| transmission | any |
| rooftop_slugs | array | Restrict results to these network rooftops. |
| exterior_color | any |
| interior_color | any |
| model_year_max | integer |
| model_year_min | integer |
| oem_program_slug | string |
| passenger_capacity_min | integer |
{
"type": "object",
"properties": {
"make": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"sort": {
"enum": [
"price_asc",
"price_desc",
"year_desc",
"mileage_asc",
"distance"
],
"description": "Optional ordering; defaults to price_asc. The sort key uses NULLS LAST and is deterministically terminated by rooftop and unit ids. distance requires latitude and longitude (radius_miles defaults to 50)."
},
"trim": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"view": {
"enum": [
"summary",
"manifest",
"full"
],
"default": "summary"
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "1–500 with view manifest; 1–50 for summary and full (server-enforced)"
},
"model": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"format": {
"enum": [
"json",
"csv"
],
"default": "json"
},
"offset": {
"type": "integer",
"maximum": 10000,
"minimum": 0,
"description": "Zero-based row offset. Results are totally ordered and stable for an unchanged catalog, but pagination is NOT snapshot-isolated: ingestion between two page requests shifts offsets, so a traversal may duplicate or omit rows. To copy the catalog consistently: record catalog_watermark AND total from the first page, compare both on every subsequent page, and restart the traversal if either changes. Narrowing by rooftop_slug shortens each traversal and so reduces the chance of a restart. Offsets beyond 10000 are rejected; narrow the query instead."
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"default": "US",
"description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"condition": {
"enum": [
"new",
"used"
]
},
"fuel_type": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"price_max": {
"type": "number",
"maximum": 99999999.99,
"minimum": 0,
"description": "Maximum expiry-gated effective price: an unexpired special price when present, otherwise asking price."
},
"price_min": {
"type": "number",
"maximum": 99999999.99,
"minimum": 0,
"description": "Minimum expiry-gated effective price: an unexpired special price when present, otherwise asking price."
},
"body_style": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"drivetrain": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"listed_only": {
"type": "boolean",
"description": "When true, only units with at least one stored photo and a vehicle detail page (vdp_url). Absent or false returns every available unit, including stock the dealer has not merchandised yet."
},
"is_certified": {
"type": "boolean"
},
"odometer_max": {
"type": "integer",
"minimum": 0
},
"radius_miles": {
"type": "number",
"maximum": 500,
"exclusiveMinimum": 0
},
"rooftop_slug": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$",
"description": "Restrict results to one rooftop, as listed by network_directory. A slug that matches no rooftop returns no results rather than an error."
},
"transmission": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"rooftop_slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"maxItems": 20,
"minItems": 1,
"description": "Restrict results to these network rooftops.",
"uniqueItems": true
},
"exterior_color": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"interior_color": {
"oneOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
}
]
},
"model_year_max": {
"type": "integer",
"maximum": 2100,
"minimum": 1950
},
"model_year_min": {
"type": "integer",
"maximum": 2100,
"minimum": 1950
},
"oem_program_slug": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"passenger_capacity_min": {
"type": "integer",
"maximum": 20,
"minimum": 1
}
},
"description": "Categorical arrays are ORed within their field; separate filter fields are ANDed together. The default ordering is price_asc. Server-enforced: latitude requires longitude; longitude requires latitude; radius_miles requires latitude and longitude. sort = distance requires latitude and longitude. Additional argument rules are enforced server-side.",
"additionalProperties": false
}