API URL: https://api.autosyncstudio.com/
API keys may be generated in the portal: https://portal.autosyncstudio.com/
See also the auto-generated API Reference: https://api.autosyncstudio.com/docs/index.html
1. Legend
URL query parameter prefixes:
f-
- (filter) denotes a parameter that narrows down the result set or specifies preferred records, e.g.f-year
i-
- (include) denotes a parameter that adds optional data to the result, e.g.i-colors
p-
- (page) denotes a parameter that pertains to pagination, e.g.p-number
s-
- (sort) denotes a parameter that orders a collection by a specified field, e.g.s-price
2. Authorization
All vehicle and wheel endpoints require a valid key to pass authorization. Each key determines access to resources.
Append key
parameter to a URL to specify a key:
/vehicles/years?key=secret
If key
parameter is not specified or a provided key is invalid, the API will return the following response for endpoints requiring authorization:
{ "Error": "Invalid API key" }
GET /keys/validate
To test if an API key is valid, you can query the following endpoint:
/keys/validate?key=secret
A successfully validated key passed to the endpoint will result in the following response:
{ "Status": "OK" }
3. Segments
The endpoints are divided into the following segments:
Accessories
Tires
Vehicles
Wheels
Each set of endpoints is guarded by a permission. An attempt to access an endpoint without appropriate permission assigned to an API key will result in the following error:
{ "Error": "Unauthorized access to segment: tires" }
If you see the error and believe this is a mistake, please contact AutoSync.
4. API Key Configuration
GET /keys/config
Configuration set for an API key. This includes theming and filtering.
/keys/config?key=secret
Sample response for a valid key:
{ "BrandIds": [130], "Locations": [{ "Id": 100, "Name": "Vancouver Premium Tire", "Country": "Canada", "Address": "2452 52 Ave", "City": "Vancouver", "State": "BC", "Zip": "V2Y 4B4", "Phone": "(604) 333-4444", "Coordinates": [ 45.133904, -122.584391 ] }, ... ], "MakeIds": [], "Segments": [ "tires", "vehicles", "wheels" ], "VehicleTypes": [], "Visualizer": { "AlignHomeContentToTop": true, "BgImg": "", "BgImgOpacity": 1, "BrandColor": "#ae1016", "BrandLogo": "https://vvs.autosyncstudio.com/static/icons/Autosync-logo-grey.png", "Ga4Key": "UA-213519920-3", "ListVehicleModelsByYear": true, "PaginationSize": 24, "ScrollIntoView": true, "TireLogo": "https://vvs.autosyncstudio.com/static/clients/11/product_logo.071c7.webp", "VehicleLogo": "https://vvs.autosyncstudio.com/static/vehicles.png", "VehicleThumbnails": "color", "WheelLogo": "https://vvs.autosyncstudio.com/static/clients/11/product_logo.071c7.webp" } }
BrandIds
- IDs of allowed brandsLocations
- a list of locations assigned to a retailer or manufacturer; empty if none specifiedCoordinates
- latitude and longitude of the address;null
if not available
MakeIds
- if vehicle makes are filtered, this array will list IDs of allowed makes; otherwise it will be emptySegments
- see “3. Segments” for more informationVehicleTypes
- if vehicle types are filtered, this array will list allowed types; otherwise it will be emptyVisualizer
- configuration for visualizersAlignHomeContentToTop
- home page content should be placed right at the top of the content containerBgImg
- home page background image URLBgImgOpacity
- home page background image opacityBrandColor
- theme accent colorBrandLogo
- URL of the brand logo shown on the home pageGa4Key
- Google Analytics key for tracking eventsListVehicleModelsByYear
- Separate vehicle models by yearPaginationSize
- default pagination sizeScrollIntoView
- scroll container into the viewport on user input when the embedded on a page with more contentTireLogo
- “Shop by Tire” image URLVehicleLogo
- “Shop by Vehicle” image URLVehicleThumbnails
- eithercolor
ormono
WheelLogo
- “Shop by Wheel” image URL
POST /keys/config
Update API key configuration. Propagating changes may take up to 5 minutes.
Data must be submitted in the body and be JSON-encoded:
{ "vehicleModels": { "use": "include", "modelIds": [44, 45, 46, 47] } }
where (* - required):
*
vehicleModels
- vehicle models filter*
use
-include
orexclude
to either*
modelIds
- an array of vehicle model IDs; empty array disables the filter
Example 1. JavaScript code for sending a sample request for quote:
const data = { vehicleModels: { use: "include", modelIds: [44, 45, 46] } }; const resp = await fetch(API_URL + '/keys/config?key=' + API_KEY, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); console.log(await resp.json());
Response:
{ "Status": "OK" }
5. Errors
In case of an error, HTTP status will be different than 200
and an error message will be included.
Example 1. Invalid path:
/wheels/unknown
Response (HTTP status 404
):
{ "Error": "Unknown endpoint" }
Example 2. Invalid parameter value:
/vehicles/makes?f-year=99999
Response (HTTP status 400
):
{ "Error": "Invalid value for query parameter: f-year" }
Example 3. Implementation error that needs to be addressed by AutoSync (response HTTP status 500
):
{ "Error": "Query error" }
HTTP status 200
and no error
property signify a successful response.
6. Pagination
Every endpoint returning a single collection includes pagination information:
MoreItems
-true
orfalse
denoting the end of a collection or additional records on the next page
By default, collections are limited to 10 records per page.
Example 1. The first page of 10 Ford models (out of 51 in total):
/vehicles/models?f-make=Ford
Response:
{ "Models": [{ "Id": 8791, "Make": "Ford", "Model": "Bronco" }, { "Id": 8070, "Make": "Ford", "Model": "E-150" }, ... ], "MoreItems": true }
All endpoints may include query parameters for specifying pagination settings:
p-number
- page number beginning at 1p-size
- page size, i.e the number of collection items to be fetched (1-500)
Example 2. The last of three 25-item pages of Ford’s models:
/vehicles/models?f-make=Ford&p-size=25&p-number=2
Response:
{ "Models": [{ "Id": 33175, "Make": "Ford", "Model": "F-150 Lightning" }, ... ] }
Endpoints containing objects with multiple collections, e.g. /wheels/filters
, do not include pagination information.
Example 3. No page indicators for collections under filters (models and diameters):
/wheels/filters?i-models&i-diameters&f-brand=Vision
Response:
{ "Filters": { "Models": ["Daytona", "Wizard", "Rage", ...], "Diameters": [15, 17, 20, ...] } }
7. Vehicle Endpoints
All endpoints in this section require authorization. For more information see “2. Authorization”.
GET /vehicles/years
A list of all supported vehicle years.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/years
Results are sorted by year in ascending order.
Supported vehicle types:
Car
CUV
SUV
Truck
UTV
Van
Example 1. All supported years (page size increased to 100 to include all results):
/vehicles/years?p-size=100
Response:
{ "Years": [2000, 2001, 2002, ...] }
Example 2. Years for Audi A4 Sport:
/vehicles/years?f-make=Audi&f-model=A4&f-submodel=Sport
Response:
{ "Years": [2010, 2011, 2012, 2013, 2014, 2015, 2016] }
GET /vehicles/makes
A list of vehicle makes.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/makes
Results are sorted by make in ascending order.
For more information on how to filter vehicle models by vehicle types, see /vehicles/years
.
Example 1. A list of all makes:
/vehicles/makes
Response:
{ "Makes": [{ "Make": "Acura" }, { "Make": "Alfa Romeo" }, ... ] }
Example 2. A list of Truck or Van makes:
/vehicles/makes?f-types=Truck,Van
Response:
{ "Makes": [{ "Make": "Buick" }, { "Make": "Cadillac" }, ... ] }
Example 3. A list of makes that manufactured vehicles in 2012 with their logos and the total number of vehicles released that year:
/vehicles/makes?f-year=2012&i-logos&i-vehicleCount
Response:
{ "LogoUrlBase: "https://storage.googleapis.com/autosync-brand-logos/vehicles/", Makes: [{ Make: "Audi", Logo: "Audi.png", VehicleCount": 49 }, ... ] }
Appending Logo
to LogoUrlBase
composes a complete logo image URL, for example:
https://storage.googleapis.com/autosync-brand-logos/vehicles/Audi.png
Do not hardcode LogoUrlBase
or parts of it as it may change.
GET /vehicles/models
A list of vehicle models.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/models
Results are sorted by make and model in ascending order.
For more information on how to filter vehicle models by vehicle types, see /vehicles/years
.
Example 1. A list of models by year and make:
/vehicles/models?f-year=2012&f-make=Audi
Response:
{ "Models": [{ "Id": 2778, "Make": "Audi", "Model": "A3" }, { "Id": 4365, "Make": "Audi", "Model": "A3 Quattro" }, ... ] }
Example 2. Mustang models:
/vehicles/models?f-query=Mustang
Response:
{ "Models": [{ "Id": 1164, "Make": "Ford", "Model": "Mustang" }, { "Id": 7857, "Make": "Ford", "Model": "Mustang Mach-E" } ] }
Example 3. 2018 Mazda models with body types:
/vehicles/models?f-year=2018&f-make=Mazda&i-body
Response:
{ "Models": [{ "Id": 2487, "Make": "Mazda", "Model": "3", "Body": "Hatchback" }, { "Id": 2487, "Make": "Mazda", "Model": "3", "Body": "Sedan" }, ... ] }
Example 4. 2009 Hummer H2 models with vehicle types:
/vehicles/models?f-query=2009 Hummer H2&i-type
Response:
{ "Models": [{ "Id": 6700, "Make": "Hummer", "Model": "H2", "Type": "SUV" }, { "Id": 6700, "Make": "Hummer", "Model": "H2", "Type": "Truck" } ] }
Example 4. Ford Freestyle model split by year:
/vehicles/models?f-query=Ford Freestyle&i-year
Response:
{ "Models": [{ "Id": 2619, "Make": "Ford", "Model": "Freestyle", "Year": 2007 }, { "Id": 2618, "Make": "Ford", "Model": "Freestyle", "Year": 2006 }, ... ] }
Example 5. Filter by year (2016), make (“BMW”) and include images in the default color for each model together with the years of the vehicles in the images:
/vehicles/models?f-year=2016&f-make=bmw&i-img032&i-imgYear
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/", "Models": [{ "Id": 2316, "Make": "BMW", "Model": "228i", "ImgYear": 2016, "Img032": { "240": "10631/10631_240_032_B45.webp", "350": "10631/10631_350_032_B45.webp", "640": "10631/10631_640_032_B45.webp", "960": "10631/10631_960_032_B45.webp", "2400": "10631/10631_2400_032_B45.webp" }, ... ] }
Appending image path to ImgUrlBase
composes a complete image URL, for example:
https://storage.googleapis.com/autosync-vehicles/10631/10631_2400_032_B45.webp
Do not hardcode ImgUrlBase
or parts of it as it may change.
GET /vehicles/submodels
A list of vehicle sub models.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/submodels
Results are sorted by make, model and sub model in ascending order.
For more information on how to filter vehicle sub models by vehicle types, see /vehicles/years
.
Example 1. A list of 2012 Audi A4 sub models:
/vehicles/submodels?f-year=2012&f-make=Audi&f-model=A4
Response:
{ "Submodels": [{ "Make": "Audi", "Model": "A4", "Submodel": "Base" } ] }
Example 2. A list of 2010 Honda Civic sub models:
/vehicles/submodels?f-year=2010&f-make=Honda&f-model=Civic&i-body
Response:
{ "Submodels": [{ "Make": "Honda", "Model": "Civic", "Submodel": "DX", "Body": "Coupe" }, { "Make": "Honda", "Model": "Civic", "Submodel": "DX", "Body": "Sedan" }, ... ] }
Example 3. Full-text search results for “2020 jag I-Pace“:
/vehicles/submodels?f-query=2020%20jag%20I-Pace
Response:
{ "Submodels": [{ "Make": "Jaguar", "Model": "I-Pace", "Submodel": "HSE" }, ... ] }
Example 4. A list of Ford F-150 sub models manufactured in 2020 with 032 angle images 960 px wide in the default color:
/vehicles/submodels?f-year=2020&f-make=Ford&f-model=F-150&i-img032
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/", "Submodels": [{ "Make": "Ford", "Model": "F-150", "Submodel": "King Ranch", "Img032": { "240": "14114/14114_240_032_N1-D1.webp", "350": "14114/14114_350_032_N1-D1.webp", "640": "14114/14114_640_032_N1-D1.webp", "960": "14114/14114_960_032_N1-D1.webp", "2400": "14114/14114_2400_032_N1-D1.webp" }, ... ] }
Appending image path to ImgUrlBase
composes a complete image URL, for example:
https://storage.googleapis.com/autosync-vehicles/14112/14112_2400_032_JS.webp
Do not hardcode ImgUrlBase
or parts of it as it may change.
GET /vehicles
A list of vehicles.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles
Results are sorted by year in descending order.
For more information on how to filter vehicles by types, see /vehicles/years
.
A. Filtering Vehicles
Example 1. Vehicles filtered by year, make, model, and sub model:
/vehicles?f-year=2018&f-make=Mazda&f-model=3&f-submodel=Touring
Response:
{ "Vehicles": [{ "Bed": "", "Body": "Hatchback", "Doors": null, "Drw": false, "Id": 11693, "Make": "Mazda", "Model": "3", "Submodel": "Touring", "Type": "Car", "Year": 2018 }, { "Bed": "", "Body": "Sedan", "Doors": null, "Drw": false, "Id": 11695, "Make": "Mazda", "Model": "3", "Submodel": "Touring", "Type": "Car", "Year": 2018 } ] }
Example 2. Vehicles filtered by year, make, model, sub model, and body type:
/vehicles?f-year=2018&f-make=Mazda&f-model=3&f-submodel=Touring&f-body=Sedan
Response:
{ "Vehicles": [{ "Bed": "", "Body": "Sedan", "Doors": null, "Drw": false, "Id": 11695, "Make": "Mazda", "Model": "3", "Submodel": "Touring", "Type": "Car", "Year": 2018 } ] }
B. Fetching Vehicle by ID
Example. Vehicle with ID equal to 3635:
/vehicles?f-id=3635
Response:
{ "Vehicles": [{ "Bed": "", "Body": "Sedan", "Doors": null, "Drw": false, "Id": 3635, "Make": "Dodge", "Model": "Charger", "Submodel": "SRT Hellcat Widebody", "Type": "Car", "Year": 2021 } ] }
C. Image URLs
Supported sizes (width in pixels):
2400
– 2400 px × 1250 px960
- 960 px × 522 px640
- 640 px × 348 px350
- 350 px × 190 px240
- 240 px × 130 px
Example. Including images of angles 001 and 014:
/vehicles?f-id=5851&i-img001&i-img014
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/", "Vehicles": [{ "Bed": "", "Body": "Coupe", "Doors": null, "Drw": false, "Id": 5851, "Img001": { "240": "13780/13780_240_001_E7.webp", "350": "13780/13780_350_001_E7.webp", "640": "13780/13780_640_001_E7.webp", "960": "13780/13780_960_001_E7.webp", "2400": "13780/13780_2400_001_E7.webp" }, "Img014": { "240": "13780/13780_240_014_E7.webp", "350": "13780/13780_350_014_E7.webp", "640": "13780/13780_640_014_E7.webp", "960": "13780/13780_960_014_E7.webp", "2400": "13780/13780_2400_014_E7.webp" }, "ImgColorId": 130664, "Make": "Ford", "Model": "Mustang", "Submodel": "Shelby GT350R", "Type": "Car", "Year": 2019 } ] }
Appending image path to ImgUrlBase
composes a full resource URL, for example:
https://storage.googleapis.com/autosync-vehicles/13780/13780_2400_001_E7.webp
If an image in a given size is not available, null
value will be returned.
Do not hardcode ImgUrlBase
or parts of it as it may change.
ImgColorId
indicates which color was selected for the images.
D. Selecting a Preferred Color
Image URL query parameters may be combined with f-colorId
in order to specify a desired color.
Example. Vehicle ID 5851 in color ID 130664 (“Velocity Blue”):
/vehicles?f-id=5851&i-img032&f-colorId=130664
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/", "Vehicles": [{ "Bed": "", "Body": "Coupe", "Doors": null, "Drw": false, "Id": 5851, "Img032": { "240": "13780/13780_240_032_E7.webp", "350": "13780/13780_350_032_E7.webp", "640": "13780/13780_640_032_E7.webp", "960": "13780/13780_960_032_E7.webp", "2400": "13780/13780_2400_032_E7.webp" }, "ImgColorId": 130664, "Make": "Ford", "Model": "Mustang", "Submodel": "Shelby GT350R", "Type": "Car", "Year": 2019 } ] }
If f-colorId
is not specified, the default color of a vehicle will be selected.
E. Available colors
To include a list of available colors for each vehicle, append i-colors
parameter with no value.
Example. A vehicle with a list of its colors:
/vehicles?f-id=5851&i-colors
Response:
{ "SwatchUrlBase": "https://storage.googleapis.com/autosync-colors/", "Vehicles": [{ "Bed": "", "Body": "Coupe", "Colors": [{ "Id": 130662, "Code": "AJ", "Name": "Need For Green", "ShortName": "Green", "Rgb1": "1E7038", "Rgb2": "", "Swatch": "1E7038.png", "Img001": true, "Img014": true, "Img032": true }, ... ] } ] }
Appending Swatch
to SwatchUrlBase
composes a complete color swatch URL, e.g.:
https://storage.googleapis.com/autosync-colors/5E5D63.png
Each object under Colors
includes Img001
, Img014
, and Img032
properties. They signify whether a vehicle image is available for a given angle and in the color.
F. Fitment Data
See Tire Endpoints section for the definitions of the nomenclature.
See Mapping Products to Vehicles guid for details on how to use the fitment data to filter products:
Mapping Products to Vehicles
Appending i-fitments
and i-optionalFitments
to the URL includes OE and OE optional fitments. i-fitments
also adds the following fields:
BoltCircle
Bore
BoreRear
-null
if the same asBore
DefaultChassisId
- if multiple chassis are mapped to the vehicle, this value will represent the closest matchLoadRating
- minimum tire load ratingLoadRatingRear
-null
if the same asLoadRating
LugCount
MaxWheelLoad
- maximum weight the vehicle would exert on each wheel while in operationStaggered
- the vehicle is commonly fitted with staggered wheels and tires
i-tags
includes tags, and niche tags.
Niche tags identify wheels (and their corresponding vehicles) that are made for specific vehicles only. They are used primarily for replica wheels made for specific vehicles.
Each OE fitment is compatible with the vehicle without a need for vehicle modifications (e.g. lift kits).
In addition to OE fitments, plus sizes may be requested with i-plusSizes
parameter. Plus sizes will only be returned if fitments are requested. Plus sizes are intended for the tuning market. They can be used to show the aftermarket wheel fitment sizes, and tire sizes for that wheel size. Plus size notes provide information on special requirements.
Note. Plus sizes must be matched with fitments by ChassisId
.
Each fitment is identified by Id
, has ChassisId
, and is often described by Name
to differentiate it from other options. Typically, a vehicle would have a few fitments sharing the same chassis and multiple plus size for each chassis. Some vehicles may have fitments coming from chassis. This is because sub model alone doesn’t uniquely identify vehicle chassis. For example, vehicle ID 83184 has two chassis:
"ChassisId": 70429, "Name": "19\""
- 2 fitments, 14 plus sizes"ChassisId": 92428, "Name": "Ceramic Brake Package"
- 1 fitment, 9 plus sizes
Depending on which OE fitment is selected by the end user, either the 14 or the 9 plus sizes may be offered with additional wheel/tire sizes.
Example. A vehicle with OE fitments and plus sizes:
/vehicles?f-id=160890&i-fitments&i-plusSizes&i-tags
Response:
{ "Vehicles": [{ "Bed": "", "Body": "Coupe", "BoltCircle": 120, "Bore": 67.1, "BoreRear": null, "DefaultChassisId": 90851, "Doors": null, "Drw": false, "Fitments": [{ "AspectRatio": 50, "AspectRatioRear": null, "ChassisId": 69829, "Diameter": null, "DiameterRear": null, "Format": "M", "Id": 69830, "InchWidth": null, "InchWidthRear": null, "MaxOffset": 45, "MaxOffsetRear": null, "MinOffset": 32, "MinOffsetRear": null, "Name": "", "Offset": 38, "OffsetRear": null, "RimDiameter": 18, "RimDiameterRear": null, "RimWidth": 8.5, "RimWidthRear": null, "SectionWidth": 245, "SectionWidthRear": null, "SpeedRating": "V", "SpeedRatingRear": null, "TireSize": "245/50R18", "TireSizeRear": null } ], "Id": 160890, "LugCount": 5, "Make": "Chevrolet", "MaxWheelLoad": 595, "Model": "Camaro", "NicheTag": "Camaro", "PlusSizes": [{ "AspectRatio": 55, "ChassisId": 69829, "Diameter": null, "Format": "M", "InchWidth": null, "MaxOffset": 42, "MinOffset": 35, "Notes": [], "RimDiameter": 17, "RimWidth": 7, "SectionWidth": 245, "TireSize": "245/55R17", "Type": "FR" }, ... ], "Staggered": true, "Submodel": "LS", "Tags": [ "Luxury", "Replica" ], "Type": "Car", "Year": 2022 } ] }
Format
identifies tire format:
M
- metric, e.g. “245/70R17”;SectionWidth
,AspectRatio
, andRimDiameter
will be specifiedF
- flotation, e.g. “37x12.50R17”;Diameter
,RimWidth
, andRimDiameter
will be specified.
Notes
will take a form of an empty array if there are no special requirements for the fitment. Otherwise, a list of strings will be returned, for example:
"Notes": [ "Check fitment, possible clearance issues" ],
Staggered
indicates whether a vehicle is commonly fitted with staggered wheels (is a staggered fitment candidate). For example 2022 Chevrolet Camaro LS does not come with factory staggered wheels, but is often upgraded to staggered fitment.
G. Wheel coordinates
To include wheel coordinates append i-coordinates=<agnles>
to the URL where <angles>
is a comma-separated list of one or more of the following values:
001
- side angle014
- rear angle032
- front angle
Example. A vehicle with coordinates for angles 014 and 032:
/vehicles?f-id=10030&i-coordinates=014,032
Response:
{ "Vehicles": [{ "Bed": "", "Body": "Sedan", "Coordinates014": [ [0.46637, 0.54876, 0.54435, 0.76919], [0.81365, 0.52738, 0.86377, 0.70683] ], "Coordinates032": [ [0.44379, 0.54001, 0.5214, 0.76462], [0.79236, 0.51067, 0.84276, 0.69037] ], "Doors": null, "Drw": false, "Id": 10030, "InImageWheelDiameters": { "Front": 18, "FrontMax": 20, "Rear": 18, "RearMax": 20 }, "Make": "Audi", "Model": "A4 Quattro", "Rotations014": [2, 1], "Rotations032": [2, 1], "Submodel": "Ultra sport", "Type": "Car", "WheelAngles014": ["0100", "0100"], "WheelAngles032": ["0100", "0200"], "Year": 2020 } ] }
Wheel coordinates include two sets of four values in the following order:
x1
- top left corner’sx
valuey1
- top left corner’sy
valuex2
- bottom right corner’sx
valuey2
- bottom right corner’sy
value
Each value is expressed in percents, counting vehicle image’s top-left corner as the starting point.
Overlayed front and rear wheel images match original rims best when slightly rotated. Each set of coordinates (for each vehicle angle) will have a corresponding set of rotation values (in degrees):
"Rotations001": [-10, 10], "Rotations014": [2, 1], "Rotations032": [2, 1],
In the example above, the left wheel should be rotated by -10 deg (counterclockwise) and the right wheel should be rotated by 10 deg (clockwise) for vehicle angle 001
.
Wheel angles specify preferred wheel angles for each vehicle angle and each wheel. For example:
"WheelAngles032": ["0100", "0200"]
indicates that the vehicle, when shown in angle 032
, should have wheel angle 0100
layered on top of the first (counting from left to right) wheel and angle 0200
over the second wheel (on the right).
Exceptions:
Dually trucks, being an exception, and will return
0300Front
and0300Rear
wheel angles for001
vehicle angle (instead of0300
for non-dually vehicles):
"WheelAngles001": ["0300Front", "0300Rear"]
Some vehicles my have externally-mounted full size spare wheels. In their case, an additional set of coordinates and associated data will be returned for angle
014
:
"Coordinates014": [ [0.16631, 0.35318, 0.23623, 0.56862], [0.48934, 0.63067, 0.55902, 0.84323], [0.82157, 0.60554, 0.86866, 0.7867] ], "Rotations014": [1.2, 2, 1], "WheelAngles014": ["0200", "0100", "0100"],
InImageWheelDiameters
is a list of wheel diameters corresponding with vehicle images:
Front
- front wheel diameter as visible in the vehicle imageFrontMax
- maximum front wheel diameter visually fitting the vehicle imageRear
- rear wheel diameter as visible in the vehicle imageRearMax
- maximum rear wheel diameter visually fitting the vehicle image
Wheel coordinates are set for Front
and FrontMax
diameters and need to be proportionally scaled up for diameters between Front
and FrontMax
, and between Rear
and RearMax
.
If information for InImageWheelDiameters
is not available, a null
value will be returned:
"InImageWheelDiameters": null
H. Sample Positioning Implementation
Having the following values returned from /vehicles
endpoint:
"ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/" ... "Img032": { ... "2300": "11360/11360_2400_032_CI.webp" } ... "Coordinates032": [ [0.44425, 0.5158, 0.5272, 0.74908], [0.79188, 0.48561, 0.84501, 0.67501] ], "Rotations032": [2, 1],
and the following data returned from /wheels
endpoint:
"ImgUrlBase": "https://storage.googleapis.com/autosync-wheels/" ... "Img0100": "TSW/Blanchimont_Semi-Gloss_Black_5-lug_0100.png", "Img0200": "TSW/Blanchimont_Semi-Gloss_Black_5-lug_0200.png"
we can overlay the wheels on top of the vehicles with the following HTML and CSS code:
<div class="wrapper"> <img class="vehicle-image" src="https://storage.googleapis.com/autosync-vehicles/11360/11360_2400_032_CI.webp"> <img class="left-wheel" src="https://storage.googleapis.com/autosync-wheels/TSW/Blanchimont_Semi-Gloss_Black_5-lug_0100.png"> <img class="right-wheel" src="https://storage.googleapis.com/autosync-wheels/TSW/Blanchimont_Semi-Gloss_Black_5-lug_0200.png"> </div>
.wrapper { position: relative; } .vehicle-image { width: 100%; } .left-wheel { position: absolute; left: 44.425%; top: 51.58%; width: calc(52.72% - 44.425%); height: calc(74.908% - 51.58%); transform: rotate(2deg); } .right-wheel { position: absolute; top: 48.561%; left: 79.188%; width: calc(84.501% - 79.188%); height: calc(67.501% - 48.561%); transform: rotate(1deg); }
Live CodePen example:
https://codepen.io/m-autosync/pen/BapjrqY
GET /vehicles/vehicle/[vehicleId]/accessories
Beta Functionality – available in development only.
A list of accessories for a requested vehicle.
Required URI parameters:
*
vehicleId
- vehicle ID
Optional query parameters:
Data
i-imgVov
- include accessory VoV images for selected angles together with coordinates and rotation angles; a comma-separated list of one or more of the following values:001
,014
,032
i-vehicleImg
- include vehicle images for selected angles; a comma-separated list of one or more of the following values:001
,014
,032
i-commonMinScale
- some accessories may require different vehicle scales to fit them on top of vehicle images; the scales may differ not only between vehicles but also vehicle angles (for example a hitch bike rack may require a smaller scale for angle001
); this parameter includes at least one scale that is the same for all vehicle angles (001
,014
,032
) for a given vehicle and accessory; it takes effect only ifi-imgVov
is specified
Filters
f-vehicleColorId
- specify vehicle color by ID; takes precedence overf-vehicleColor
f-vehicleColor
- specify vehicle image color:rand
– random color (default),mono
– prefer monochromatic color;f-vehicleColorId
parameter takes precedence if both are specified
Example 1. List accessories with their coordinates and images for all angles for vehicle ID 38050 (2021 Ford F-150 XL Extended Cab):
/vehicles/vehicle/38050/accessories?i-imgVov=32&i-vehicleImg=32
Response:
{ "AccessoriesImgUrlBase": "https://storage.googleapis.com/autosync-accessories/", "Vehicle": { "Accessories": [{ "BaseAccessoryIds": [ 14 ], "Coordinates032": [{ "Coordinates": [ 0.5581, 0.23113, 0.72682, 0.38212 ], "Scale": 0.9 }, { "Coordinates": [ 0.56455, 0.20126, 0.75202, 0.36902 ], "Scale": 1 } ], "Description": "Racks and Carriers by THULE - Cargo Basket, Rack-Mounted With Net", "Id": 3, "ImgVov032": [ "pcw7PhX5J50kfmKFruzyew__.webp", null ], "PartNumber": "VJT4Z7855100C", "Rotation032": 0 } }, ... ]}, "Img032": { "240": "14890/14890_240_032_E7.webp", "350": "14890/14890_350_032_E7.webp", "640": "14890/14890_640_032_E7.webp", "960": "14890/14890_960_032_E7.webp", "2400": "14890/14890_2400_032_E7.webp" } }, "VehicleImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/" }
Base Accessories
Accessories can depend on other accessories to be properly visualized. For example a cargo box may require a roof rack. BaseAccessoryIds
provide a list of IDs of alternative accessories required by the main accessory. Any one from the list may be selected.
"BaseAccessoryIds": [ 14 ],
The image above shows an accessory (green rectangle) with its dependent accessory (orange rectangle).
Coordinates
Visualizing accessories may require scaling down vehicle images. For each angle (001
, 014
or 032
), there may be a set of different vehicle scales. The biggest, is the maximum scale for which the accessory stays within the canvas of the requested vehicle image. Smaller scales are provided to match other accessories that require smaller scales.
"Coordinates001": [{ "Coordinates": [ 0.57587, 0.25752, 0.62611, 0.4054 ], "Scale": 0.8 }, { "Coordinates": [ 0.58536, 0.22721, 0.64188, 0.39358 ], "Scale": 0.9 }, ... ],
In the example above, the accessory requires scaling the vehicle image down to 90% or less. 0.8
coordinates are provided because another accessory returned in the response requires 80% scale. When two accessories are overlaid on a vehicle, the highest common scale should be used.
The values are adjusted for each scale.
Coordinates are provided in four-element arrays: x1, y1, x2, y2:
{ "Coordinates": [ - coordinates for vehicle image when scaled to 90% 0.58536, - x1 0.22721, - y1 0.64188, - x2 0.39358 - y2 ], "Scale": 0.9 - vehicle image scale }
Top left corner of a vehicle image is the (0,0) point.
In some cases, vehicle scales may be different for different vehicle angles. For example Yakima - Hitch Mounted Snow Sport requires a smaller scale on angle 001
.
However, if it’s desired to preserve vehicle scale between different angles, i-commonMinScale
parameter may be added which will ensure at least one common scale will be included between vehicle angles.
A common scale between different accessories is always included.
Images
Two accessory images are returned for each angle:
"ImgVov032": [ "pcw7PhX5J50kfmKFruzyew__.webp", - back null - front ],
Any of them can be null
. The first image (back) is meant to be placed behind a vehicle image and the second (front) on top of it.
When positioning images, their coordinates should be applied to both images in the same way.
In addition to coordinates, accessory images may require rotation. Same as for coordinates, rotation should be applied the same way for both images (back and front). Rotation requirements are provided by Rotation001
, Rotation014
or Rotation032
.
8. Wheel Endpoints
All endpoints in this section require authorization. For more information see “2. Authorization”.
Wheel tags are separated into segment tags and vehicle type tags.
Segment tags:
All Season
All Terrain
All Weather
Commercial
Extreme Terrain
Highway Terrain
Mud Terrain
Performance
Race
Spare
Summer
Touring
Winter
Vehicle type tags:
ATV/UTV
Car
Lawn/Garden/Golf
Medium Truck
SUV/Light Truck
Tractor
Trailer
See Mapping Products to Vehicles guid for details on how to use vehicle fitment data to filter wheels:
Mapping Products to Vehicles
GET /wheels/brands
A list of wheel brands.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/wheels/brands
Example 1. All brands:
/wheels/brands
Response:
{ "Brands": [{ "Id": 9, "Brand": "Black Rhino" }, { "Id": 11, "Brand": "Bravado" }, ... ] }
Example 2. All brands with their logos and the number of wheels:
/wheels/brands?i-logos&i-wheelCount
Response:
{ "BrandLogosUrlBase": "https://storage.googleapis.com/autosync-brand-logos/wheels/", "Brands": [{ "Id": 9, "Brand": "Black Rhino", "Logo": "Black_Rhino.png", "WheelCount": 4119 }, ... ] }
Appending Logo
to BrandLogosUrlBase
composes a complete logo image URL, for example:
https://storage.googleapis.com/autosync-brand-logos/wheels/Black_Rhino.png
Do not hardcode BrandLogosUrlBase
or parts of it as it may change.
GET /wheels/filters
A list of wheel filters.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/wheels/filters
Example 1. All diameters:
/wheels/filters?i-diameters
Response:
{ "Filters": { "Diameters": [8, 10, 11, 12, ...] } }
Example 2. Diameters filtered by “TNT” brand:
/wheels/filters?i-diameters&f-brand=TNT
Response:
{ "Filters": { "Diameters": [16, 17, 18, 20] } }
Example 3. Brands, short finishes, diameters, offsets, and price range filtered by “Vision” brand:
/wheels/filters?i-brands&i-shortFinishes&i-diameters&i-offsets&i-prices&f-brand=Vision
Response:
{ "Filters": { "Brands": ["Vision"], "ShortFinishes": ["Chrome", "Gloss", "Machined", ...], "Diameters": [10, 12, 13, ...], "Offsets": [-143, -137, -76, ...], "Prices": { "Min": 165, "Max": 349 } } }
Example 4. Brands with logos filtered by “Classic” segment tag:
/wheels/filters?i-brands&i-brandLogos&f-orSegmentTags=Classic
Response:
{ "BrandLogosUrlBase": "https://storage.googleapis.com/autosync-brand-logos/products/", "Filters": { "Brands": [{ "Brand": "Allied", "Logo": "Allied.png" }, { "Brand": "American Legend", "Logo": "American_Legend.png" }, ... ] } }
Example 5. Brands that have wheels with bolt circle 1 or bolt circle 2 equal to 114 mm:
/wheels/filters?i-brands&f-boltCircle=114
Response:
{ "Filters": { "Brands": ["Ace Alloy", "Kansei", "Momo", ...] } }
GET /wheels/styles
A list of wheel styles.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/wheels/styles
Example 1. Styles filtered by “Black Rhino” brand with wheel count:
/wheels/styles?f-brand=Black%20Rhino&i-wheelCount
Response:
{ "WheelStyles": [{ "Brand": "Black Rhino", "Id": 149, "Model": "Coyote", "Submodel": null, "WheelCount": 37 }, ... ] }
Example 2. A list of styles with forged aluminum wheels that includes specification data, 0001 angle images and a list of short colors:
/wheels/styles?f-material=Forged Aluminum&i-specs&i-img0001&i-shortColors&i-imgDetails
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-wheels/", "WheelStyles": [{ "Brand": "Victor Equipment", "ExposedLugs": true, "Id": 1128, "Img0001": "Victor_Equipment/Lohner-Forged_Matte_Black_5-lug_0001.png", "ImgAccent": "", "ImgColor": "Black", "ImgDiameter": 19, "ImgFinish": "Matte", "ImgOffset": 36, "ImgShortColor": "Black", "ImgShortFinish": "Matte", "ImgWheelId": 29797, "ImgWidth": 11, "LugType": "Conical", "Material": "Forged Aluminum", "Model": "Lohner Forged", "ShortColors": ["Black"], "Structure": "1-Piece", "Submodel": null }, ... ] }
Appending Img<angle>
to ImgUrlBase
composes a complete image URL, for example:
https://storage.googleapis.com/autosync-wheels/Vision/Assassin_396_Matte_Black_6-lug_0001.png
Do not hardcode ImgUrlBase
or parts of it as it may change.
When i-imgDetails
query parameter is present and at least one image URL is requested, results will include additional information describing the image:
ImgWheelId
ImgDiameter
ImgOffset
ImgAccent
ImgColor
ImgShortColor
ImgFinish
ImgShortFinish
Example 3. Styles filtered by “Drag” brand with specs:
/wheels/styles?f-brand=Drag&i-specs&i-tags
Response:
{ "WheelStyles": [{ "Brand": "Drag", "ExposedLugs": true, "Id": 11574, "LugType": "Conical", "Material": "Cast Aluminum", "Model": "DR-11", "NicheTag": "N/A", "SegmentTags": ["Luxury"], "Structure": "1-Piece", "Submodel": "GBML", "VehicleTypeTags": ["Car"] }, ... ] }
Example 4. Off-road wheel styles for trucks and SUVs:
/wheels/styles?f-orSegmentTags=Off-Road&f-andVehicleTypeTags=Truck,SUV
Response:
{ "WheelStyles": [{ "Brand": "American Outlaw", "Id": 69, "Model": "DoubleShot", "Submodel": "127" }, ... ] }
Example 5. Wheel styles with no niche tag assigned and those with niche tag set to “Porsche 911-991”:
/wheels/styles?f-nicheTag=Porsche 911-991
Response:
{ "WheelStyles": [{ "Brand": "American Racing", "Id": 6983, "Model": "Fast Back", "Submodel": "VN806 GY" }, ... ] }
Niche tags link aftermarket wheels made for specific vehicles only with the vehicles. Some examples include:
Beyern - BMW
Coventry - Jaguar
Mandrus - Mercedes
Factory Reproductions FR 54 - Ford Mustang
Factory Reproductions FR 85 - Audi
Factory Reproductions FR 62 - Dodge Challenger
Example 6. Black Rhino wheel styles with sizes, offsets and short finishes:
/wheels/styles?f-brand=Black Rhino&i-shortFinishes&i-offsets&i-sizes
Response:
{ "WheelStyles": [{ "Brand": "Black Rhino", "Id": 149, "Model": "Coyote", "Offsets": [-18, 2, 6, 12], "ShortFinishes": ["Gloss"], "Sizes": ["17x9", "18x9", "20x9"], "Submodel": null }, ... ] }
Example 7. ATX wheels styles with 205x130 bolt pattern:
/wheels/styles?f-query=ATX 6x135
Response:
{ "WheelStyles": [{ "Brand": "ATX", "Id": 101, "Model": "AX203", "Submodel": null } ] }
Example 8. Fuel wheels styles that have wheels of two specified widths:
/wheels/styles?f-brand=Fuel&f-widths=8&f-widths2=10&i-diameters&i-offsets&i-sizes&i-wheelCount
Response:
{ "WheelStyles": [{ "Brand": "Fuel", "Diameters": [15, 16, 18], "Diameters2": [15, 20], "Id": 395, "Model": "Anza", "Offsets": [-18, 1, 27], "Offsets2": [-43, -18], "Sizes": ["15x8", "16x8", "18x8"], "Sizes2": ["15x10", "20x10"], "Submodel": "D557", "WheelCount": 4, "WheelCount2": 4 } ] }
When two diameters and/or two widths are specified, values that may differ between wheels of the two sizes will be listed separately, for example Offsets
will list all offsets of the first size, and Offsets2
will list all offsets of the second size.
Example 9. Fuel wheels styles that have 15” wheels of two specified widths (same as above but restricting wheel diameter):
/wheels/styles?f-brand=Fuel&f-diameters=15&f-diameters2=15&f-widths=8&f-widths2=10&i-diameters&i-offsets&i-sizes&i-wheelCount
Response:
{ "WheelStyles": [{ "Brand": "Fuel", "Diameters": [15], "Diameters2": [15], "Id": 395, "Model": "Anza", "Offsets": [-18], "Offsets2": [-43], "Sizes": ["15x8"], "Sizes2": ["15x10"], "Submodel": "D557", "WheelCount": 1, "WheelCount2": 3 } ] }
GET /wheels
A list of wheels.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/wheels
Example 1. Wheels by style ID 416 (Fuel Contra D615):
/wheels?f-styleId=416
Response:
{ "Wheels": [{ "Brand": "Fuel", "Id": 10486, "Model": "Contra", "Pn": "D64318909845", "StyleId": 416, "Submodel": "D643" }, ... ] }
Example 2. Wheels by style ID 416 with specification data and tags:
/wheels?f-styleId=416&i-specs&i-tags&i-cap
Response:
{ "Wheels": [{ "Accent": "Milled", "BoltCircle1": 135, "BoltCircle2": 139.7, "Bore": 106.1, "Brand": "Fuel", "Bsm": null, "Cap": { "Id": 428, "Pn": "1003-81GBQ HR93.1/87.1/78.1" }, "Color": "Red", "Diameter": 18, "ExposedLugs": false, "FaceStyle": "Multi Spoke", "Finish": "Gloss", "Gtin": null, "Id": 10486, "LipSize": null, "LoadRating": 2500, "LugCount": 6, "LugType": "Conical", "Material": "Cast Aluminum", "Model": "Contra", "Msrp": null, "NicheTag": "N/A", "Offset": -12, "Orientation": "N/A", "Pn": "D64318909845", "Position": "N/A", "SegmentTags": ["Off-Road"], "ShortColor": "Red", "ShortFinish": "Gloss", "Structure": "1-Piece", "StyleId": 416, "Submodel": "D643", "Upc": null, "VehicleTypeTags": ["SUV", "Truck"], "Weight": 32, "Width": 9 }, ... ] }
Example 3. A wheel with vendor part number equal “531147“ with description and feature benefit data:
/wheels?f-pn=531147&i-description&i-features
Response:
{ "Wheels": [{ "Brand": "Velox", "Description": "The Sterling from Velox Wheels is a multi-spoke wheel that is a part of the Nordica series. This wheel is specifically engineered for resilience in tough winter driving conditions. The Sterling wheel is available in two sleek finishes, matte black and silver. This wheel features a black snap-in center cap and spoke lines which extend to the lip of the wheel, making the face of the wheel look larger and more imposing. If you are looking to enhance the look of your vehicle while providing winter driving durability, the Velox Sterling may be the wheel for you.", "FeatureBenefit1": "", "FeatureBenefit2": "", "FeatureBenefit3": "", "FeatureBenefit4": "", "Id": 54832, "Model": "Sterling", "Pn": "531147", "StyleId": 10016, "Submodel": "SL" } ] }
Example 4. A wheel with ID equal “2945“ with 0001, 1001 and 0002 angle images:
/wheels?f-ids=2945&i-img0001&i-img1001&i-img0002
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-wheels/", "Wheels": [{ "Brand": "Beyern", "Id": 2945, "Img0001": "Beyern/Aviatic_Matte_Gunmetal_Gloss-Black-Lip_5-lug_0001.png", "Img0002": "Beyern/Aviatic_Matte_Gunmetal_Gloss-Black-Lip_5-lug_0002.png", "Img1001": "Beyern/Aviatic_Matte_Gunmetal_Gloss-Black-Lip_5-lug_1001.jpg", "Model": "Aviatic", "Pn": "1780BYA155120B72", "StyleId": 7195, "Submodel": "GY" } ] }
Appending Img<angle>
to ImgUrlBase
composes a complete image URL, for example:
https://storage.googleapis.com/autosync-wheels/Beyern/Aviatic_Matte_Gunmetal_Gloss-Black-Lip_5-lug_0001.png
Do not hardcode ImgUrlBase
or parts of it as it may change.
Example 5. Wheels for American muscle vehicles:
/wheels?f-orSegmentTags=Muscle
Response:
{ "Wheels": [{ "Brand": "American Racing", "Id": 3, "Model": "Torq Thrust D", "Pn": "VN1054661", "StyleId": 7033, "Submodel": "VN105 GY" }, ... ] }
Example 6. Full-text search for BMW replica wheels:
/wheels?f-query=replica BMW&i-tags
Response:
{ "Wheels": [{ "Brand": "Replica Alloys", "Id": 63773, "Model": "BMW", "NicheTag": "BMW", "Pn": "067-880-5120-13 SMF", "StyleId": 11230, "Submodel": "TT 67 SL", "Tags": ["Car", "Replica", "SUV"] }, ... ] }
Example 7. Specs and images of a front dually wheel:
/wheels?&f-ids=11499&i-img0100&i-img0200&i-img0300&i-specs
Response:
{ "Wheels": [{ "Id": 11499, ... "Img0100": "Fuel/Maverick-Dually_D538_Black_Milled_Front_0100.png", "Img0200": "Fuel/Maverick-Dually_D538_Black_Milled_Rear_0200.png", "Img0300Front": "Fuel/Maverick-Dually_D538_Black_Milled_Front_0300.png", "Img0300Rear": "Fuel/Maverick-Dually_D538_Black_Milled_Rear_0300.png", "LinkedDuallyWheels": { "Front": 11499, "Inner": 189179, "Outer": [ 11503, 11500 ] }, ... } ] }
Front dually wheels, when queried for images of angle 0300, include two paths (instead of one):
"Img0300Front": "Fuel/Maverick-Dually_D538_Black_Milled_Front_0300.png" "Img0300Rear": "Fuel/Maverick-Dually_D538_Black_Milled_Rear_0300.png",
That’s to accommodate different VoV (view on vehicle) profile images:
When i-spec
parameter is added to the URL, front dually wheels include LinkedDuallyWheels
section:
"LinkedDuallyWheels": { "Front": 11499, "Inner": 189179, "Outer": [ 11503, 11500 ] }
This section lists IDs of all other related dually wheels, i.e. a matching inner dually wheel and matching outer dually wheels.
POST /wheels/favorites
Mark a wheel as added to the favorites through the visualizer app.
Data must be submitted in the body and be JSON-encoded:
{ "wheelId": ... }
where (* - required):
*
wheelId
- ID of the wheel added to favorites
Example 1. JavaScript code for sending a sample request for quote:
const data = { vehicleId: 1234, }; const resp = await fetch(API_URL + '/wheels/favorites?key=' + API_KEY, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); console.log(await resp.json());
Response:
{ "Status": "OK" }
9. Tire Endpoints
All endpoints in this section require authorization. For more information see “2. Authorization”.
Definitions
Metric Tires – Standard tire size format. For example “235/45R18”.
Flotation Tires – An alternative tire size format often used for larger truck and ATV/UTV tires. For example “42X15-16LT“.
Square Fitment – All four tires are the same size. All four wheels are the same diameter. All four wheels are the same diameter, width, and offset.
Staggered Fitment – Two wheels (typically the drive wheels) are wider.
Tire tags are separated into segment tags and vehicle type tags.
Segment tags:
Classic
Custom
Luxury
Off-Road
Overlander
Replica
Winter
Vehicle type tags:
Car
Dually
SUV
Trailer
Truck
UTV/ATV/Golf
Van
Speed Rating | KM/H | MPH |
---|---|---|
F | 80 | 50 |
G | 90 | 56 |
J | 100 | 62 |
K | 110 | 68 |
L | 120 | 75 |
M | 130 | 81 |
N | 140 | 87 |
P | 150 | 93 |
Q | 160 | 100 |
R | 170 | 106 |
S | 180 | 112 |
T | 190 | 118 |
U | 200 | 124 |
H | 210 | 130 |
V | 240 | 149 |
W | 270 | 168 |
Y | 300 | 186 |
(Y) | 300+ | 186+ |
See Mapping Products to Vehicles guid for details on how to use vehicle fitment data to filter tires:
Mapping Products to Vehicles
GET /tires/brands
A list of tire brands.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/tires/brands
Example 1. All brands:
/tires/brands
Response:
{ "Brands": [{ "Id": 265, "Brand": "Bfgoodrich" }, { "Id": 262, "Brand": "Bridgestone" }, ... ] }
Example 2. All brands with their logos and the number of tires:
/tires/brands?i-logos&i-tireCount
Response:
{ "BrandLogosUrlBase": "https://storage.googleapis.com/autosync-brand-logos/products/", "Brands": [{ "Id": 265, "Brand": "Bfgoodrich", "Logo": "Bfgoodrich.png", "TireCount": 966 }, ... ] }
Appending Logo
to BrandLogosUrlBase
composes a complete logo image URL, for example:
https://storage.googleapis.com/autosync-brand-logos/products/Bfgoodrich.png
Do not hardcode BrandLogosUrlBase
or parts of it as it may change.
GET /tires/filters
A list of tire filters.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/tires/filters
Example 1. All rim diameters:
/tires/filters?i-rimDiameters
Response:
{ "Filters": { "RimDiameters": [6, 8, 9, ...] } }
Example 2. Rim diameters filtered by “Goodyear” brand:
/tires/filters?i-rimDiameters&f-brand=Goodyear
Response:
{ "Filters": { "Diameters": [14, 15, 16, ...] } }
Example 3. Aspect ratios and rim diameters of metric tire models that have 225 mm and 235 mm section widths (for vehicles that take wider rear tires):
/tires/filters?f-sectionWidth=225&f-sectionWidth2=235&i-aspectRatios&i-rimDiameters&i-sectionWidths
Response:
{ "Filters": { "AspectRatios": [30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 90], "AspectRatios2": [30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85], "RimDiameters": [14, 15, 16, 17, 18, 19, 19.5, 20, 22], "RimDiameters2": [14, 15, 16, 17, 17.5, 18, 19, 20, 21, 22], "SectionWidths": [225], "SectionWidths2": [235] } }
Example 4. Inch widths and rim diameters of floatation tire models that have 31” and 33” overall diameters (for vehicles that take larger-diameter rear tires):
/tires/filters?f-diameter=31&f-diameter2=33&i-diameters&i-rimDiameters&i-inchWidths
Response:
{ "Filters": { "Diameters": [31], "Diameters2": [33], "InchWidths": [8.5, 10, 10.5, 11, 11.5, 12.5, 13], "InchWidths2": [8.5, 10, 10.5, 11.5, 12, 12.5, 13, 13.5, 14.5, 17], "RimDiameters": [14, 15, 16, 17], "RimDiameters2": [15, 16, 16.5, 17, 18, 20, 22] } }
GET /tires/models
A list of tire models.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/tires/models
Example 1. Tire models with tire count sorted by brand first and then by model:
/tires/models?i-tireCount&s-brand=asc&s-model=asc
Response:
{ "TireModels": [{ "Brand": "Amp", "Id": 17213, "Model": "MUD TERRAIN ATTACK M/T A", "TireCount": 29 }, ... ] }
Example 2. Winter tire models for light-duty or medium-duty trucks:
/tires/models?i-tags&f-orSegmentTags=Winter&f-orVehicleTypeTags=SUV/Light Truck,Medium Truck
Response:
{ "TireModels": [{ "Brand": "Bridgestone", "Id": 644, "Model": "Blizzak W965", "SegmentTags": ["Commercial","Winter"], "VehicleTypeTags": ["SUV/Light Truck"] }, ... ] }
Example 3. Tire models filtered by “Michelin” brand with their specification and images:
/tires/models?i-specs&i-img&f-brand=Michelin
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-tires/", "RotationImgUrlBase": "https://storage.googleapis.com/autosync-tire-spins/", "TireModels": [{ "Benefits": null, "Brand": "Michelin", "Description": "Ultra-High Performance Passenger Car Summer tire. Original Equipment on Renowned Sports Cars like BMW M3, Porsche 911 and Chevrolet Corvette ZR1. ZP (Zero Pressure) Run Flat Technology on Select Sizes.", "Features": null, "Id": 291, "ImgAngle": "c4857df1f52eae568218d7ca98fa0bae.webp", "ImgFront": "a0a429690e6147bdf2af507735b1def1.webp", "ImgRotationDir": null, "ImgSide1": "7e03541741604bfdec8e543a38e3c6fb.webp", "ImgSide2": null, "ImgThumb": "b34043a718877c81db3e20438141c0b3.webp", "Model": "PILOT SPORT PS2" }, ... ] }
Appending image path (ImgThumb
, ImgAngle
, ImgFront
, ImgSide1
, ImgSide2
) to ImgUrlBase
composes a full resource URL, for example:
https://storage.googleapis.com/autosync-tires/c4857df1f52eae568218d7ca98fa0bae.webp
If an angle is not available, null
value will be returned.
Do not hardcode BrandLogosUrlBase
or RotationImgUrlBase
as the URLs may change.
GET /tires
A list of tires.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/tires
Example 1. 225/50R17 size Michelin tires sorted by tire model:
/tires?f-brand=Michelin&f-query=225/50R17&s-model=asc
Response:
{ "Tires": [{ "Brand": "Michelin", "BrandId": 264, "DisplayName": "225/50R17 XL CROSSCLIMATE +", "Id": 245753, "Model": "CROSSCLIMATE +", "ModelId": 18304, "PartNumber": "72199" }, { "Brand": "Michelin", "BrandId": 264, "DisplayName": "225/50R17 XL CROSSCLIMATE 2", "Id": 445332, "Model": "CROSSCLIMATE 2", "ModelId": 29768, "PartNumber": "69757" }, ... ] }
Example 2. Michelin Crossclimate 2 tires with images and specification:
/tires?f-brand=Michelin&f-model=Crossclimate%202&i-img&i-specs
Response:
{ "ImgUrlBase": "https://storage.googleapis.com/autosync-tires/", "RotationImgUrlBase": "https://storage.googleapis.com/autosync-tire-spins/", "Tires": [{ "ApprovedRimWidthMax": 8.5, "ApprovedRimWidthMin": 6.5, "Asin": null, "AspectRatio": 65, "Benefits": null, "Brand": "Michelin", "BrandId": 264, "Description": "All-Season Performance Touring Passenger Car, SUV/CUV tire.", "Diameter": null, "DisplayName": "235/65R17 CROSSCLIMATE 2", "Ean": null, "Features": null, "GmCode": 19427825, "Id": 445315, "ImgAngle": "2363aea9629e696f8ca6983e61bec53e.webp", "ImgFront": "f6b36e63f0d92516cc6251f207f6f4cd.webp", "ImgRotationDir": null, "ImgSide1": "c16898f82820d7c788c0242c1ceb0447.webp", "ImgSide2": null, "ImgThumb": "edeee0cbf32f83e2d04849f8a84715e3.webp", "InchWidth": null, "LoadCapacityDual": null, "LoadCapacitySingle": "1984", "LoadRange": "SL", "LoadRating": "104", "LoadedWidth": null, "MaxInflationPressure": 51, "MeasuringRimWidth": "7.0", "MetricRimDiameter": null, "MinDualSpacing": null, "Model": "CROSSCLIMATE 2", "ModelId": 29768, "OriginCountry": null, "OverallDiameter": 29.12, "OverallWidth": 9, "PartNumber": "74077", "PlyRating": null, "RevolutionsPerMile": 716, "RimDiameter": 17, "RollingCircumference": null, "SectionWidth": 235, "Sidewall": "BSW", "Size": "235/65R17", "SpeedRating": "H", "StarRating": null, "StaticLoadedRadius": null, "TraCode": null, "TreadDepth": 10, "TreadWidth": null, "Upc": "086699740779", "Utqg": null, "Warranty": 60000, "Weight": 30.73 }, ... ] }
Appending image path (ImgThumb
, ImgAngle
, ImgFront
, ImgSide1
, ImgSide2
) to ImgUrlBase
composes a full resource URL, for example:
https://storage.googleapis.com/autosync-tires/2363aea9629e696f8ca6983e61bec53e.webp
If an angle is not available, null
value will be returned.
Do not hardcode BrandLogosUrlBase
or RotationImgUrlBase
as the URLs may change.
If ImgRotationDir
is not null
, its value represents a folder with rotation images. For example:
{ "RotationImgUrlBase": "https://storage.googleapis.com/autosync-tire-spins/", "Tires": [{ ... "ImgRotationDir": "fb887ecb39f711c09fa50d8e27a27fb3", ... } ] }
Append ImgRotationDir
to RotationImgUrlBase
to form a URL to a folder with rotation images. Each folder contains 36 WebP images. For example, to access the first image:
https://storage.googleapis.com/autosync-tire-spins/fb887ecb39f711c09fa50d8e27a27fb3/1.webp
For time-effective deployments, it is recommend to use a library for spins provided by AutoSync.
Live CodePen example:
https://codepen.io/m-autosync/pen/mdXrdjy
10. Request for Quote Endpoint
The endpoint in this section requires authorization. For more information see “2. Authorization”.
POST /request-for-quote
Submit a request for quote. Email notifications will be sent to all email addresses linked to the API key and a confirmation email will be sent to the customer.
Data must be submitted in the body and be JSON-encoded:
{ "customer": {"firstName": ..., "lastName": ..., "phone": ..., "email": ...}, "locationId": ..., "vehicleId": ..., "products": [ {"type": ..., "id": ..., "qty": ...}, ], "message": ... }
where (* - required):
*
customer
- customer information*
firstName
- between 1 and 30 characters*
lastName
- between 1 and 30 characters*
phone
- between 10 and 20 characters*
email
- maximum 50 characters
locationId
- AutoSync ID of a retailer or manufacturer location; if specified, email addresses to be notified will be taken from the location (instead of the API key settings)vehicleId
- AutoSync ID of the selected vehicle*
products
- an array of objects*
type
- product type; possible values:wheel
,tire
*
id
- AutoSync product IDqty
- product quantity
message
- customer notes; maximum 500 characters
Example 1. JavaScript code for sending a sample request for quote:
const data = { customer: { firstName: "James", lastName: "Smith", phone: "360-555-6666", email: "james.smith@gmail.com", message: "This is a test", }, locationId: 101, vehicleId: 1234, products: [ {type: "wheel", id: 445566, qty: 2}, ], }; const resp = await fetch(API_URL + '/request-for-quote?key=' + API_KEY, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); console.log(await resp.json());
Response:
{ "Status": "OK" }
Sample email sent to a customer:
Sample email sent to a retailer: