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
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
| Parameter | Type | Required | Default | Description |
make_id | long | Yes | — | Tire make ID from /api/v1/tire-makes |
search | string | No | — | Free-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
| Field | Type | Description |
id | long | Unique tire pattern identifier |
name | string | Pattern name (e.g. "CrossClimate 2") |
description | string? | Pattern description, if available |
image_url | string? | Pattern image URL; falls back to a size thumbnail if no pattern image exists |
size_count | int | Number of tire sizes available for this pattern |
Error Responses
| Status | Condition |
401 | Missing or invalid API key |
400 | make_id is missing or invalid |
404 | Tire make with the given make_id does not exist |
Related Endpoints
Browse 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
| Parameter | Type | Required | Default | Description |
search | string | No | — | Free-text search |
make_name | string[] | No | [] | Filter by make. Repeat for multiple values. |
category | string[] | No | [] | Filter by category. Repeat for multiple values: ?category=Passenger Car&category=Light Truck |
exclude_category | string[] | No | [] | Exclude patterns in these categories. Repeat for multiple: ?exclude_category=Industrial&exclude_category=Commercial Truck/Bus |
page | int | No | 1 | Page number |
per_page | int | No | 24 | Results 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
| Field | Type | Description |
id | long | Unique pattern identifier |
name | string | Pattern name |
description | string? | Pattern description |
image_url | string? | Pattern image URL |
make_name | string? | Make name (e.g. "Michelin") |
make_image | string? | Make logo image URL |
size_count | int | Number of tire sizes available |
facets.make_name | string[] | Distinct make names in the result set |
facets.category | string[] | Distinct categories in the result set |
Error Responses
| Status | Condition |
401 | Missing or invalid API key |
Related Endpoints
- Tire Makes — get make names for the
make_name filter
- Tire Categories — reference list of category values for the
category and exclude_category filters
- Tires — search for specific tire sizes by dimensional attributes
Get Tire Pattern by ID
Get full detail for a single tire pattern, including all its available sizes and applicable rebates.
Path Parameters
| Parameter | Type | Description |
id | long | Tire pattern ID |
Query Parameters
| Parameter | Type | Required | Default | Description |
rebate_status | string | No | — (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
| Field | Type | Description |
id | long | Unique pattern identifier |
name | string | Pattern name |
image_url | string? | Pattern image URL |
image_360_url | string? | 360-degree image URL |
image_360_thumbnail_url | string? | 360-degree image thumbnail URL |
video_url | string? | Promotional video URL |
manufacturer_url | string? | Manufacturer product page URL |
benefits | string? | Pattern benefits |
description | string? | Pattern description |
features | string? | Pattern features |
three_pmsf | bool | Three-Peak Mountain Snowflake certification |
tire_make | object? | Nested make object with id, name, image_url, dot_reg_url |
tire_sizes | array | Available tire sizes with id, name, item_number, three_pmsf, season, terrain, studdable, category, run_flat, mud_and_snow |
rebates | array | Applicable rebates with id, name, description, start_date, end_date, global, status |
Error Responses
| Status | Condition |
401 | Missing or invalid API key |
404 | Tire pattern with the given ID does not exist |
Related Endpoints
- Tires — get full specifications for a tire size within this pattern
- Vehicle Fitments — look up vehicles that fit the tire sizes in this pattern
- Rebates — get full rebate details for rebates returned in the response