Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 311 Next »

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

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 or exclude 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 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):

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

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

/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

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

/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, 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:

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

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

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

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

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

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

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

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

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


 Clink to expand the documentation of “AutoSync Spin Images Library”

1. Distribution

This library is available through autosyncstudio.com website.

There are two version:

  1. Javascript module
    https://vvs.autosyncstudio.com/lib/autosync-spin.module.js – recommended for JavaScript frameworks or websites built with NodeJS.

  2. Plain old JavaScript file
    https://vvs.autosyncstudio.com/lib/autosync-spin.js – recommended in all other cases

2. How to Use It

  1. Import the library.

  2. Create a div to use it as a container and assign an id to it.

  3. Instantiate AutosyncSpin passing a config object with the id, along with a path to spin images and a desired size.

For example:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Example</title>

    <script src="https://vvs.autosyncstudio.com/lib/autosync-spin.js"></script>
  </head>
  <body>
    <div id="spin-360-viewer"></div>
    <script>
      const autosyncSpin = new AutosyncSpin({
        id: 'spin-360-viewer',
        path: 'https://storage.googleapis.com/autosync_tires/_spins/06026e3d311e72c7df6193ba5efd5f2e',
        size: 500,
      });
    </script>
  </body>
</html>

AutosyncSpin config object parameters:

  • id – The id assigned to the container.

  • path – An absolute URL (or a relative path under the same domain) where images are stored. All the images used for this library must be named from 1 to (24 or 36) and be in WebP format.

  • size – The desired size of the viewer (in pixels).

3. Method Reference

The library comes with utility methods to interact with its rendered content.

  • createCanvas(REQUIRED containerId: string) – Change container providing a new element ID.

  • setPath(REQUIRED path: string) – Change the path or URL where images are stored. To take effect, reload() must be called.

  • setSize(REQUIRED size: number) – Change the size of the viewer and the container. To take effect, reload() must be called.

  • showError(val: boolean) – Show/hide an error message when loading images fails.

  • reload() – Reset all the variables used to set state (excluding path and size), and load again the viewer.


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 ID

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

  • No labels