Rebates

Browse available tire rebates and get detailed rebate information including line items and associated tire patterns.

Case-insensitive filtering. String filter values such as make_name and status are case-insensitive — for example, status=active and status=Active produce the same results.

List Rebates

GET /api/v1/rebate

List rebates with optional filters for date range, status, and make. Returns paginated results.

Query Parameters

ParameterTypeRequiredDefaultDescription
start_datedateNoFilter by start date (e.g. 2025-03-01)
end_datedateNoFilter by end date (e.g. 2025-05-31)
globalstringNotrue/1 for global rebates only, false/0 for non-global
statusstringNoOne of: Active, Upcoming, Expired
sort_by_keystringNoSort field: start_date, end_date, name
sort_by_orderstringNoSort direction: asc or desc
pageintNo1Page number
per_pageintNo30Results per page (max 100)
make_namestringNoFilter by tire make name

Code Examples

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

response = requests.get(
    "https://app.tireweblibrary.com/api/v1/rebate",
    params={"status": "Active"},
    headers={"x-api-key": "tl_live_your_key"},
)
data = response.json()

Response

{
  "current_page": 1,
  "data": [
    {
      "id": 10,
      "name": "Spring Rebate",
      "start_date": "2025-03-01",
      "end_date": "2025-05-31",
      "global": true,
      "status": "Active"
    }
  ],
  "from": 1,
  "last_page": 1,
  "per_page": 30,
  "to": 12,
  "total": 12
}

Response Fields

FieldTypeDescription
idlongUnique rebate identifier
namestringRebate name
start_datestringRebate start date (ISO 8601)
end_datestringRebate end date (ISO 8601)
globalboolWhether the rebate applies to all makes
statusstringRebate status: Active, Upcoming, or Expired

Error Responses

StatusCondition
401Missing or invalid API key

Related Endpoints


Get Rebate by ID

GET /api/v1/rebate/{id}

Get full detail for a single rebate including line items (amounts, quantities, spend requirements) and associated tire patterns.

Path Parameters

ParameterTypeDescription
idlongRebate ID

Code Examples

curl -H "x-api-key: tl_live_your_key" \
  "https://app.tireweblibrary.com/api/v1/rebate/10"
const response = await fetch(
  "https://app.tireweblibrary.com/api/v1/rebate/10",
  { headers: { "x-api-key": "tl_live_your_key" } }
);
const rebate = await response.json();
import requests

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

Response

{
  "id": 10,
  "name": "Spring Rebate",
  "description": "Save on select tires this spring.",
  "image_url": "https://...",
  "image_horizontal_url": "https://...",
  "image_preview_url": "https://...",
  "form_url": "https://...",
  "start_date": "2025-03-01",
  "end_date": "2025-05-31",
  "global": true,
  "status": "Active",
  "rebate_items": [
    {
      "id": 25,
      "amount": 70.00,
      "amount_reason": "Prepaid Card",
      "amount_two": 100.00,
      "amount_two_reason": "Prepaid Card (select sizes)",
      "quantity_required": 4,
      "quantity_limit": null,
      "spend_min": null,
      "spend_max": null,
      "tire_patterns": [
        {
          "id": 678,
          "name": "Defender T+H",
          "description": "All-season tire...",
          "image_url": "https://..."
        }
      ]
    }
  ]
}

Response Fields

FieldTypeDescription
idlongUnique rebate identifier
namestringRebate name
descriptionstring?Rebate description
image_urlstring?Rebate image URL (vertical)
image_horizontal_urlstring?Rebate image URL (horizontal)
image_preview_urlstring?Rebate preview image URL
form_urlstring?URL to the rebate claim form
start_datestringRebate start date (ISO 8601)
end_datestringRebate end date (ISO 8601)
globalboolWhether the rebate applies to all makes
statusstringRebate status: Active, Upcoming, or Expired
rebate_itemsarrayLine items with amounts, quantities, and qualifying tire patterns
rebate_items[].idlongRebate item identifier
rebate_items[].amountdecimal?Primary rebate amount
rebate_items[].amount_reasonstring?Description of how the primary amount is paid
rebate_items[].amount_twodecimal?Secondary rebate amount (e.g. for select sizes)
rebate_items[].amount_two_reasonstring?Description of how the secondary amount is paid
rebate_items[].quantity_requiredint?Number of tires required to qualify
rebate_items[].quantity_limitint?Maximum number of submissions allowed
rebate_items[].spend_mindecimal?Minimum spend to qualify
rebate_items[].spend_maxdecimal?Maximum spend to qualify
rebate_items[].tire_patternsarrayQualifying tire patterns with id, name, description, image_url

Error Responses

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

Related Endpoints