Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

API URL: https://api.autosyncstudio.com/

API keys may be generated in the portal: https://portal.autosyncstudio.com/

Info

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:

Code Block
/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:

Code Block
languagejson
{
  "Error": "Invalid API key"
}

Status
colourGreen
titleGET
/keys/validate

To test if an API key is valid, you can query the following endpoint:

Code Block
/keys/validate?key=secret

A successfully validated key passed to the endpoint will result in the following response:

Code Block
languagejson
{
  "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:

Code Block
languagejson
{
  "Error": "Unauthorized access to segment: tires"
}

If you see the error and believe this is a mistake, please contact AutoSync.

4. API Key Configuration

Status
colourGreen
titleGET
/keys/config

Configuration set for an API key. This includes theming and filtering.

Code Block
/keys/config?key=secret

Sample response for a valid key:

Code Block
languagejson
{
  "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 brands

  • Locations - a list of locations assigned to a retailer or manufacturer; empty if none specified

    • Coordinates - 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 empty

  • Segments - see “3. Segments” for more information

  • VehicleTypes - if vehicle types are filtered, this array will list allowed types; otherwise it will be empty

  • Visualizer - configuration for visualizers

    • AlignHomeContentToTop - home page content should be placed right at the top of the content container

    • BgImg - home page background image URL

    • BgImgOpacity - home page background image opacity

    • BrandColor - theme accent color

    • BrandLogo - URL of the brand logo shown on the home page

    • Ga4Key - Google Analytics key for tracking events

    • ListVehicleModelsByYear - Separate vehicle models by year

    • PaginationSize - default pagination size

    • ScrollIntoView - scroll container into the viewport on user input when the embedded on a page with more content

    • TireLogo - “Shop by Tire” image URL

    • VehicleLogo - “Shop by Vehicle” image URL

    • VehicleThumbnails - either color or mono

    • WheelLogo - “Shop by Wheel” image URL

Status
colourRed
titlePOST
/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:

Code Block
languagejson
{
    "vehicleModels": {
        "use": "include",
        "modelIds": [44, 45, 46, 47]
    }
}

where (

Status
colourRed
title*
- required):

  • Status
    colourRed
    title*
    vehicleModels - vehicle models filter

    • Status
      colourRed
      title*
      use - include or exclude to either

    • Status
      colourRed
      title*
      modelIds - an array of vehicle model IDs; empty array disables the filter

Example 1. JavaScript code for sending a sample request for quote:

Code Block
languagejs
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:

Code Block
languagejson
{
  "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:

Code Block
/wheels/unknown

Response (HTTP status 404):

Code Block
languagejson
{
  "Error": "Unknown endpoint"
}

Example 2. Invalid parameter value:

Code Block
/vehicles/makes?f-year=99999

Response (HTTP status 400):

Code Block
languagejson
{
  "Error": "Invalid value for query parameter: f-year"
}

Example 3. Implementation error that needs to be addressed by AutoSync (response HTTP status 500):

Code Block
languagejson
{
  "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 or false 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):

Code Block
languagetext
/vehicles/models?f-make=Ford

Response:

Code Block
languagejson
{
  "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 1

  • p-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:

Code Block
languagetext
/vehicles/models?f-make=Ford&p-size=25&p-number=2

Response:

Code Block
languagejson
{
  "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):

Code Block
languagetext
/wheels/filters?i-models&i-diameters&f-brand=Vision

Response:

Code Block
languagejson
{
  "Filters": {
    "Models": ["Daytona", "Wizard", "Rage", ...],
    "Diameters": [15, 17, 20, ...]
  }
}

7. Vehicle Endpoints

Info

All endpoints in this section require authorization. For more information see “2. Authorization”.

Status
colourGreen
titleGET
/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.

Info

Supported vehicle types:

  • Car

  • CUV

  • SUV

  • Truck

  • UTV

  • Van

Example 1. All supported years (page size increased to 100 to include all results):

Code Block
languagetext
/vehicles/years?p-size=100

Response:

Code Block
languagejson
{
  "Years": [2000, 2001, 2002, ...]
}

Example 2. Years for Audi A4 Sport:

Code Block
languagetext
/vehicles/years?f-make=Audi&f-model=A4&f-submodel=Sport

Response:

Code Block
languagejson
{
  "Years": [2010, 2011, 2012, 2013, 2014, 2015, 2016]
}

Status
colourGreen
titleGET
/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.

Info

For more information on how to filter vehicle models by vehicle types, see /vehicles/years.

Example 1. A list of all makes:

Code Block
languagetext
/vehicles/makes

Response:

Code Block
languagejson
{
  "Makes": [{
      "Make": "Acura"
    }, {
      "Make": "Alfa Romeo"
    },
    ...
  ]
}

Example 2. A list of Truck or Van makes:

Code Block
languagetext
/vehicles/makes?f-types=Truck,Van

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/vehicles/makes?f-year=2012&i-logos&i-vehicleCount

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-brand-logos/vehicles/Audi.png
Note

Do not hardcode LogoUrlBase or parts of it as it may change.

Status
colourGreen
titleGET
/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.

Info

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:

Code Block
languagetext
/vehicles/models?f-year=2012&f-make=Audi

Response:

Code Block
languagejson
{
  "Models": [{
      "Id": 2778,
      "Make": "Audi",
      "Model": "A3"
    }, {
      "Id": 4365,
      "Make": "Audi",
      "Model": "A3 Quattro"
    },
    ...
  ]
}

Example 2. Mustang models:

Code Block
languagetext
/vehicles/models?f-query=Mustang

Response:

Code Block
languagejson
{
  "Models": [{
      "Id": 1164,
      "Make": "Ford",
      "Model": "Mustang"
    }, {
      "Id": 7857,
      "Make": "Ford",
      "Model": "Mustang Mach-E"
    }
  ]
}

Example 3. 2018 Mazda models with body types:

Code Block
languagetext
/vehicles/models?f-year=2018&f-make=Mazda&i-body

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/vehicles/models?f-query=2009 Hummer H2&i-type

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/vehicles/models?f-query=Ford Freestyle&i-year

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/vehicles/models?f-year=2016&f-make=bmw&i-img032&i-imgYear

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-vehicles/10631/10631_2400_032_B45.webp
Note

Do not hardcode ImgUrlBase or parts of it as it may change.

Status
colourGreen
titleGET
/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.

Info

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:

Code Block
languagetext
/vehicles/submodels?f-year=2012&f-make=Audi&f-model=A4

Response:

Code Block
languagejson
{
  "Submodels": [{
      "Make": "Audi",
      "Model": "A4",
      "Submodel": "Base"
    }
  ]
}

Example 2. A list of 2010 Honda Civic sub models:

Code Block
languagetext
/vehicles/submodels?f-year=2010&f-make=Honda&f-model=Civic&i-body

Response:

Code Block
languagejson
{
  "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“:

Code Block
languagetext
/vehicles/submodels?f-query=2020%20jag%20I-Pace

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/vehicles/submodels?f-year=2020&f-make=Ford&f-model=F-150&i-img032

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-vehicles/14112/14112_2400_032_JS.webp
Note

Do not hardcode ImgUrlBase or parts of it as it may change.

Status
colourGreen
titleGET
/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.

Info

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:

Code Block
/vehicles?f-year=2018&f-make=Mazda&f-model=3&f-submodel=Touring

Response:

Code Block
languagejson
{
  "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:

Code Block
/vehicles?f-year=2018&f-make=Mazda&f-model=3&f-submodel=Touring&f-body=Sedan

Response:

Code Block
languagejson
{
  "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:

Code Block
/vehicles?f-id=3635

Response:

Code Block
languagejson
{
  "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 px

  • 960 - 960 px × 522 px

  • 640 - 640 px × 348 px

  • 350 - 350 px × 190 px

  • 240 - 240 px × 130 px

Example. Including images of angles 001 and 014:

Code Block
languagetext
/vehicles?f-id=5851&i-img001&i-img014

Response:

Code Block
languagejson
{
  "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.

Note

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”):

Code Block
languagetext
/vehicles?f-id=5851&i-img032&f-colorId=130664

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/vehicles?f-id=5851&i-colors

Response:

Code Block
languagejson
{
  "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.:

Code Block
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

Info

See Tire Endpoints section for the definitions of the nomenclature.

Info

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

  • BoreRearnull if the same as Bore

  • DefaultChassisId - if multiple chassis are mapped to the vehicle, this value will represent the closest match

  • LoadRating - minimum tire load rating

  • LoadRatingRear - null if the same as LoadRating

  • LugCount

  • MaxWheelLoad - maximum weight the vehicle would exert on each wheel while in operation

  • Staggered - 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:

Code Block
languagetext
/vehicles?f-id=160890&i-fitments&i-plusSizes&i-tags

Response:

Code Block
languagejson
{
  "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, and RimDiameter will be specified

  • F - flotation, e.g. “37x12.50R17”; Diameter, RimWidth, and RimDiameter 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:

Code Block
languagejson
"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 angle

  • 014 - rear angle

  • 032 - front angle

Example. A vehicle with coordinates for angles 014 and 032:

Code Block
languagetext
/vehicles?f-id=10030&i-coordinates=014,032

Response:

Code Block
languagejson
{
  "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:

  1. x1 - top left corner’s x value

  2. y1 - top left corner’s y value

  3. x2 - bottom right corner’s x value

  4. y2 - bottom right corner’s y 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):

Code Block
"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:

Code Block
languagejson
"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:

  1. Dually trucks, being an exception, and will return 0300Front and 0300Rear wheel angles for 001 vehicle angle (instead of 0300 for non-dually vehicles):

Code Block
languagejson
"WheelAngles001": ["0300Front", "0300Rear"]
  1. 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 at the end of each array (3rd place):

Code Block
"Coordinates014": [
  [0.48934, 0.63067, 0.55902, 0.84323],    - left
  [0.82157, 0.60554, 0.86866, 0.7867],     - right
  [0.16631, 0.35318, 0.23623, 0.56862]     - spare
],
"Rotations014": [2, 1, 1.2],
"WheelAngles014": ["0100", "0100", "0200"],

InImageWheelDiameters is a list of wheel diameters corresponding with vehicle images:

  • Front - front wheel diameter as visible in the vehicle image

  • FrontMax - maximum front wheel diameter visually fitting the vehicle image

  • Rear - rear wheel diameter as visible in the vehicle image

  • RearMax - 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:

Code Block
languagejson
"InImageWheelDiameters": null

H. Sample Positioning Implementation

Having the following values returned from /vehicles endpoint:

Code Block
"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:

Code Block
"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:

Code Block
languagehtml
<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>
Code Block
languagecss
.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

Status
colourGreen
titleGET
/vehicles/vehicle/[vehicleId]/accessories

Panel
panelIconIdatlassian-warning
panelIcon:warning:
bgColor#FFF0B3

Beta Functionality – available in development only.

A list of accessories for a requested vehicle.

Required URI parameters:

  • Status
    colourRed
    title*
    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 angle 001); 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 if i-imgVov is specified

  • Filters

    • f-vehicleColorId - specify vehicle color by ID; takes precedence over f-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):

Code Block
languagetext
/vehicles/vehicle/38050/accessories?i-imgVov=32&i-vehicleImg=32

Response:

Code Block
languagejson
{
  "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.

Code Block
languagejson
"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.

Code Block
languagejson
"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:

Code Block
languagejson
{
  "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:

Code Block
languagejson
"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

Info

All endpoints in this section require authorization. For more information see “2. Authorization”.

Info

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

Info

See Mapping Products to Vehicles guid for details on how to use vehicle fitment data to filter wheels:
Mapping Products to Vehicles

Status
colourGreen
titleGET
/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:

Code Block
languagetext
/wheels/brands

Response:

Code Block
languagejson
{
  "Brands": [{
      "Id": 9,
      "Brand": "Black Rhino"
    }, {
      "Id": 11,
      "Brand": "Bravado"
    },
    ...
  ]
}

Example 2. All brands with their logos and the number of wheels:

Code Block
languagetext
/wheels/brands?i-logos&i-wheelCount

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-brand-logos/wheels/Black_Rhino.png
Note

Do not hardcode BrandLogosUrlBase or parts of it as it may change.

Status
colourGreen
titleGET
/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:

Code Block
/wheels/filters?i-diameters

Response:

Code Block
languagejson
{
  "Filters": {
    "Diameters": [8, 10, 11, 12, ...]
  }
}

Example 2. Diameters filtered by “TNT” brand:

Code Block
/wheels/filters?i-diameters&f-brand=TNT

Response:

Code Block
languagejson
{
  "Filters": {
    "Diameters": [16, 17, 18, 20]
  }
}

Example 3. Brands, short finishes, diameters, offsets, and price range filtered by “Vision” brand:

Code Block
languagetext
/wheels/filters?i-brands&i-shortFinishes&i-diameters&i-offsets&i-prices&f-brand=Vision

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels/filters?i-brands&i-brandLogos&f-orSegmentTags=Classic

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels/filters?i-brands&f-boltCircle=114

Response:

Code Block
languagejson
{
  "Filters": {
    "Brands": ["Ace Alloy", "Kansei", "Momo", ...]
  }
}

Status
colourGreen
titleGET
/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:

Code Block
languagetext
/wheels/styles?f-brand=Black%20Rhino&i-wheelCount

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels/styles?f-material=Forged Aluminum&i-specs&i-img0001&i-shortColors&i-imgDetails

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-wheels/Vision/Assassin_396_Matte_Black_6-lug_0001.png
Note

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:

Code Block
languagetext
/wheels/styles?f-brand=Drag&i-specs&i-tags

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels/styles?f-orSegmentTags=Off-Road&f-andVehicleTypeTags=Truck,SUV

Response:

Code Block
languagejson
{
  "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”:

Code Block
languagetext
/wheels/styles?f-nicheTag=Porsche 911-991

Response:

Code Block
languagejson
{
  "WheelStyles": [{
      "Brand": "American Racing",
      "Id": 6983,
      "Model": "Fast Back",
      "Submodel": "VN806 GY"
    },
    ...
  ]
}
Info

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:

Code Block
languagetext
/wheels/styles?f-brand=Black Rhino&i-shortFinishes&i-offsets&i-sizes

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels/styles?f-query=ATX 6x135

Response:

Code Block
languagejson
{
  "WheelStyles": [{
      "Brand": "ATX",
      "Id": 101,
      "Model": "AX203",
      "Submodel": null
    }
  ]
}

Example 8. Fuel wheels styles that have wheels of two specified widths:

Code Block
languagetext
/wheels/styles?f-brand=Fuel&f-widths=8&f-widths2=10&i-diameters&i-offsets&i-sizes&i-wheelCount

Response:

Code Block
languagejson
{
  "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):

Code Block
languagetext
/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:

Code Block
languagejson
{
  "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
    }
  ]
}

Status
colourGreen
titleGET
/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):

Code Block
languagetext
/wheels?f-styleId=416

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels?f-styleId=416&i-specs&i-tags&i-cap

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels?f-pn=531147&i-description&i-features

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels?f-ids=2945&i-img0001&i-img1001&i-img0002

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-wheels/Beyern/Aviatic_Matte_Gunmetal_Gloss-Black-Lip_5-lug_0001.png
Note

Do not hardcode ImgUrlBase or parts of it as it may change.

Example 5. Wheels for American muscle vehicles:

Code Block
languagetext
/wheels?f-orSegmentTags=Muscle

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels?f-query=replica BMW&i-tags

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/wheels?&f-ids=11499&i-img0100&i-img0200&i-img0300&i-specs

Response:

Code Block
languagejson
{
  "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):

Code Block
languagejson
"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:

Code Block
languagejson
"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.

Status
colourRed
titlePOST
/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:

Code Block
languagejson
{
  "wheelId": ...
}

where (

Status
colourRed
title*
- required):

  • Status
    colourRed
    title*
    wheelId - ID of the wheel added to favorites

Example 1. JavaScript code for sending a sample request for quote:

Code Block
languagejs
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:

Code Block
languagejson
{
  "Status": "OK"
}

9. Tire Endpoints

Info

All endpoints in this section require authorization. For more information see “2. Authorization”.

Definitions

Info

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“.

Info

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.

Info

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+

Info

See Mapping Products to Vehicles guid for details on how to use vehicle fitment data to filter tires:
Mapping Products to Vehicles

Status
colourGreen
titleGET
/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:

Code Block
languagetext
/tires/brands

Response:

Code Block
languagejson
{
  "Brands": [{
      "Id": 265,
      "Brand": "Bfgoodrich"
    }, {
      "Id": 262,
      "Brand": "Bridgestone"
    },
    ...
  ]
}

Example 2. All brands with their logos and the number of tires:

Code Block
languagetext
/tires/brands?i-logos&i-tireCount

Response:

Code Block
languagejson
{
  "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:

Code Block
https://storage.googleapis.com/autosync-brand-logos/products/Bfgoodrich.png
Note

Do not hardcode BrandLogosUrlBase or parts of it as it may change.

Status
colourGreen
titleGET
/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:

Code Block
/tires/filters?i-rimDiameters

Response:

Code Block
languagejson
{
  "Filters": {
    "RimDiameters": [6, 8, 9, ...]
  }
}

Example 2. Rim diameters filtered by “Goodyear” brand:

Code Block
/tires/filters?i-rimDiameters&f-brand=Goodyear

Response:

Code Block
languagejson
{
  "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):

Code Block
/tires/filters?f-sectionWidth=225&f-sectionWidth2=235&i-aspectRatios&i-rimDiameters&i-sectionWidths

Response:

Code Block
languagejson
{
  "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):

Code Block
/tires/filters?f-diameter=31&f-diameter2=33&i-diameters&i-rimDiameters&i-inchWidths

Response:

Code Block
languagejson
{
  "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]
  }
}

Status
colourGreen
titleGET
/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:

Code Block
languagetext
/tires/models?i-tireCount&s-brand=asc&s-model=asc

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/tires/models?i-tags&f-orSegmentTags=Winter&f-orVehicleTypeTags=SUV/Light Truck,Medium Truck

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/tires/models?i-specs&i-img&f-brand=Michelin

Response:

Code Block
languagejson
{
  "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.

Note

Do not hardcode BrandLogosUrlBase or RotationImgUrlBase as the URLs may change.

Status
colourGreen
titleGET
/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:

Code Block
languagetext
/tires?f-brand=Michelin&f-query=225/50R17&s-model=asc

Response:

Code Block
languagejson
{
  "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:

Code Block
languagetext
/tires?f-brand=Michelin&f-model=Crossclimate%202&i-img&i-specs

Response:

Code Block
languagejson
{
  "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.

Note

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:

Code Block
languagejson
{
  "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.


Expand
titleClink to expand the documentation of “AutoSync Spin Images Library”
Include Page
AutoSync Spin Images Library
AutoSync Spin Images Library

Live CodePen example:

https://codepen.io/m-autosync/pen/mdXrdjy

10. Request for Quote Endpoint

Info

The endpoint in this section requires authorization. For more information see “2. Authorization”.

Status
colourRed
titlePOST
/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:

Code Block
languagejson
{
  "customer": {"firstName": ..., "lastName": ..., "phone": ..., "email": ...},
  "locationId": ...,
  "vehicleId": ...,
  "products": [
    {"type": ..., "id": ..., "qty": ...},
  ],
  "message": ...
}

where (

Status
colourRed
title*
- required):

  • Status
    colourRed
    title*
    customer - customer information

    • Status
      colourRed
      title*
      firstName - between 1 and 30 characters

    • Status
      colourRed
      title*
      lastName - between 1 and 30 characters

    • Status
      colourRed
      title*
      phone - between 10 and 20 characters

    • Status
      colourRed
      title*
      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

  • Status
    colourRed
    title*
    products - an array of objects

    • Status
      colourRed
      title*
      type - product type; possible values: wheel, tire

    • Status
      colourRed
      title*
      id - AutoSync product ID

    • qty - product quantity

  • message - customer notes; maximum 500 characters

Example 1. JavaScript code for sending a sample request for quote:

Code Block
languagejs
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:

Code Block
languagejson
{
  "Status": "OK"
}

Sample email sent to a customer:

Sample email sent to a retailer: