Tire Patterns

Three endpoints for discovering tire patterns: list patterns for a specific make, browse with faceted filters, or get full details for a single pattern.

Case-insensitive filtering. String filter values such as make_name and search are case-insensitive — for example, make_name=Michelin and make_name=MICHELIN produce the same results.

List Tire Patterns by Make

GET /api/v1/tire-patterns

Returns all tire patterns for a given make, sorted alphabetically by name. No pagination — the dataset is small enough to return in a single request. The make_id parameter is required. Optionally filter patterns by name using the search parameter.

Query Parameters

ParameterTypeRequiredDefaultDescription
make_idlongYesTire make ID from /api/v1/tire-makes
searchstringNoFree-text search to filter pattern names

Code Examples

curl -H "x-api-key: tl_live_your_key" \
  "https://app.tireweblibrary.com/api/v1/tire-patterns?make_id=90"

# Filter patterns by name
curl -H "x-api-key: tl_live_your_key" \
  "https://app.tireweblibrary.com/api/v1/tire-patterns?make_id=90&search=alpin"
const response = await fetch(
  "https://app.tireweblibrary.com/api/v1/tire-patterns?make_id=90",
  { headers: { "x-api-key": "tl_live_your_key" } }
);
const patterns = await response.json();

// Filter patterns by name
const filtered = await fetch(
  "https://app.tireweblibrary.com/api/v1/tire-patterns?make_id=90&search=alpin",
  { headers: { "x-api-key": "tl_live_your_key" } }
);
const matches = await filtered.json();
import requests

response = requests.get(
    "https://app.tireweblibrary.com/api/v1/tire-patterns",
    params={"make_id": 90},
    headers={"x-api-key": "tl_live_your_key"},
)
patterns = response.json()

# Filter patterns by name
response = requests.get(
    "https://app.tireweblibrary.com/api/v1/tire-patterns",
    params={"make_id": 90, "search": "alpin"},
    headers={"x-api-key": "tl_live_your_key"},
)
matches = response.json()

Response

[
  {
    "id": 42,
    "name": "Alpin 6",
    "description": "Winter tire for passenger cars",
    "image_url": "https://...",
    "size_count": 34
  },
  {
    "id": 43,
    "name": "CrossClimate 2",
    "description": "All-season tire with winter certification",
    "image_url": "https://...",
    "size_count": 89
  }
]

Response Fields

FieldTypeDescription
idlongUnique tire pattern identifier
namestringPattern name (e.g. "CrossClimate 2")
descriptionstring?Pattern description, if available
image_urlstring?Pattern image URL; falls back to a size thumbnail if no pattern image exists
size_countintNumber of tire sizes available for this pattern

Error Responses

StatusCondition
401Missing or invalid API key
400make_id is missing or invalid
404Tire make with the given make_id does not exist

Related Endpoints


Browse Catalog

GET /api/v1/tire-patterns/catalog

Browse tire patterns with optional filtering by make name and free-text search. Returns paginated results with facets for building interactive filters.

Query Parameters

ParameterTypeRequiredDefaultDescription
searchstringNoFree-text search
make_namestring[]No[]Filter by make. Repeat for multiple values.
categorystring[]No[]Filter by category. Repeat for multiple values: ?category=Passenger Car&category=Light Truck
exclude_categorystring[]No[]Exclude patterns in these categories. Repeat for multiple: ?exclude_category=Industrial&exclude_category=Commercial Truck/Bus
pageintNo1Page number
per_pageintNo24Results per page (max 100)

Code Examples

curl -H "x-api-key: tl_live_your_key" \
  "https://app.tireweblibrary.com/api/v1/tire-patterns/catalog?make_name=Michelin"
const response = await fetch(
  "https://app.tireweblibrary.com/api/v1/tire-patterns/catalog?make_name=Michelin",
  { headers: { "x-api-key": "tl_live_your_key" } }
);
const data = await response.json();
import requests

response = requests.get(
    "https://app.tireweblibrary.com/api/v1/tire-patterns/catalog",
    params={"make_name": "Michelin"},
    headers={"x-api-key": "tl_live_your_key"},
)
data = response.json()

Response

{
  "results": {
    "current_page": 1,
    "data": [
      {
        "id": 678,
        "name": "Defender T+H",
        "description": "All-season tire...",
        "image_url": "https://...",
        "make_name": "Michelin",
        "make_image": "https://...",
        "size_count": 42
      }
    ],
    "from": 1,
    "last_page": 4,
    "per_page": 24,
    "to": 24,
    "total": 85
  },
  "facets": {
    "make_name": ["Michelin", "Bridgestone", "Goodyear", "..."],
    "category": ["Passenger Car", "Light Truck", "Commercial Truck/Bus", "..."]
  }
}

Response Fields

FieldTypeDescription
idlongUnique pattern identifier
namestringPattern name
descriptionstring?Pattern description
image_urlstring?Pattern image URL
make_namestring?Make name (e.g. "Michelin")
make_imagestring?Make logo image URL
size_countintNumber of tire sizes available
facets.make_namestring[]Distinct make names in the result set
facets.categorystring[]Distinct categories in the result set

Error Responses

StatusCondition
401Missing or invalid API key

Related Endpoints


Get Tire Pattern by ID

GET /api/v1/tire-patterns/{id}

Get full detail for a single tire pattern, including all its available sizes and applicable rebates.

Path Parameters

ParameterTypeDescription
idlongTire pattern ID

Query Parameters

ParameterTypeRequiredDefaultDescription
rebate_statusstringNo— (returns all)Filter rebates by status: Active, Upcoming, or Expired. Without this parameter, all rebates are returned.

Code Examples

curl -H "x-api-key: tl_live_your_key" \
  "https://app.tireweblibrary.com/api/v1/tire-patterns/678"

# Only include active rebates
curl -H "x-api-key: tl_live_your_key" \
  "https://app.tireweblibrary.com/api/v1/tire-patterns/678?rebate_status=Active"
const response = await fetch(
  "https://app.tireweblibrary.com/api/v1/tire-patterns/678",
  { headers: { "x-api-key": "tl_live_your_key" } }
);
const pattern = await response.json();

// Only include active rebates
const response2 = await fetch(
  "https://app.tireweblibrary.com/api/v1/tire-patterns/678?rebate_status=Active",
  { headers: { "x-api-key": "tl_live_your_key" } }
);
const pattern2 = await response2.json();
import requests

response = requests.get(
    "https://app.tireweblibrary.com/api/v1/tire-patterns/678",
    headers={"x-api-key": "tl_live_your_key"},
)
pattern = response.json()

# Only include active rebates
response = requests.get(
    "https://app.tireweblibrary.com/api/v1/tire-patterns/678",
    params={"rebate_status": "Active"},
    headers={"x-api-key": "tl_live_your_key"},
)
pattern = response.json()

Response

{
  "id": 678,
  "name": "Defender T+H",
  "image_url": "https://...",
  "image_360_url": "https://...",
  "image_360_thumbnail_url": "https://...",
  "video_url": "https://...",
  "manufacturer_url": "https://...",
  "benefits": "All-season confidence...",
  "description": "The Michelin Defender...",
  "features": "IntelliSipe Technology...",
  "three_pmsf": false,
  "tire_make": {
    "id": 90,
    "name": "Michelin",
    "image_url": "https://...",
    "dot_reg_url": "https://..."
  },
  "tire_sizes": [
    {
      "id": 12345,
      "name": "205/65R15",
      "item_number": "12345",
      "three_pmsf": false,
      "season": "All Season",
      "terrain": "Highway",
      "studdable": false,
      "category": "Passenger",
      "run_flat": false,
      "mud_and_snow": true
    }
  ],
  "rebates": [
    {
      "id": 10,
      "name": "Spring Rebate",
      "description": "Save on select Michelin tires",
      "start_date": "2025-03-01",
      "end_date": "2025-05-31",
      "global": false,
      "status": "Active"
    }
  ]
}

Response Fields

FieldTypeDescription
idlongUnique pattern identifier
namestringPattern name
image_urlstring?Pattern image URL
image_360_urlstring?360-degree image URL
image_360_thumbnail_urlstring?360-degree image thumbnail URL
video_urlstring?Promotional video URL
manufacturer_urlstring?Manufacturer product page URL
benefitsstring?Pattern benefits
descriptionstring?Pattern description
featuresstring?Pattern features
three_pmsfboolThree-Peak Mountain Snowflake certification
tire_makeobject?Nested make object with id, name, image_url, dot_reg_url
tire_sizesarrayAvailable tire sizes with id, name, item_number, three_pmsf, season, terrain, studdable, category, run_flat, mud_and_snow
rebatesarrayApplicable rebates with id, name, description, start_date, end_date, global, status

Error Responses

StatusCondition
401Missing or invalid API key
404Tire pattern with the given ID does not exist

Related Endpoints