Warranty Intelligence
Classify a warranty claim, check it against the warranty terms you supply, and get the next workflow step.
Endpoint
POST https://kovca.io/api/v1/warranty/triageAuthenticate with your API key in the Authorization: Bearer header. Send JSON with Content-Type: application/json; bodies are limited to 16 KB.
The warranty period and proof-of-purchase requirement are checked in code from your dates and terms. The claim is classified and tested against each covered item and exclusion you supply. Results are advisory, not a legal warranty determination: a likely exclusion goes to review rather than being denied. Kovca never assumes manufacturer terms, never authorizes repairs or replacements, and never labels a customer as fraudulent.
Request body
| Field | Type | Description |
|---|---|---|
| claim_description | string, required | The customer's description, up to 4,000 characters. |
| product | object, required | name, and optional model_number and serial_number. |
| purchase_date, claim_date | string, optional | YYYY-MM-DD. claim_date defaults to today (UTC). |
| warranty_terms | object, optional | coverage_months (required), covered and exclusions (up to 20 each, in plain language), requires_proof_of_purchase. Without terms, coverage is not_evaluated. |
| proof_of_purchase | object, optional | { provided, type? }. |
| product_condition | string, optional | An inspection or intake note. |
| previous_service | object[], optional | Up to 10 earlier repairs: { date?, description }. |
Example request
{
"claim_description": "The left hinge on my laptop cracked while opening the lid normally. It was never dropped. Now the screen wobbles.",
"product": {
"name": "Example 14-inch Laptop",
"model_number": "EX-14"
},
"purchase_date": "2025-06-12",
"claim_date": "2026-03-02",
"warranty_terms": {
"coverage_months": 24,
"covered": [
"Defects in materials and workmanship under normal use"
],
"exclusions": [
"Damage caused by drops, impacts, or liquid",
"Normal wear and tear, including cosmetic wear"
],
"requires_proof_of_purchase": true
},
"proof_of_purchase": {
"provided": true,
"type": "receipt"
}
}Response
200 OK
{
"request_id": "req_Bv6kN1pRm8TzQ4wE",
"claim_type": "manufacturing_defect",
"coverage_status": "covered",
"priority": "medium",
"recommended_action": "process_claim",
"requires_human_review": false,
"required_information": [],
"signals": [
"within_warranty_period"
],
"matched_terms": [
{
"term": "Defects in materials and workmanship under normal use",
"kind": "covered",
"evidence": "warranty_terms.covered[0]"
}
]
}| Field | Type | Description |
|---|---|---|
| request_id | string | Unique ID for this request. |
| claim_type | "manufacturing_defect" | "premature_failure" | "accidental_damage" | "wear_and_tear" | "missing_components" | "performance_issue" | "other" | See below. |
| coverage_status | "covered" | "not_covered" | "requires_review" | "insufficient_information" | "not_evaluated" | See below. |
| priority | "low" | "medium" | "high" | high for safety concerns, low for claims outside the warranty period, otherwise medium. |
| recommended_action | "process_claim" | "troubleshoot" | "request_information" | "manual_review" | "inform_not_covered" | process_claim routes the claim for processing; it doesn't authorize a repair. |
| requires_human_review | boolean | True for requires_review and not_evaluated coverage, conflicting information, vague claims, and safety concerns. |
| required_information | "warranty_terms" | "purchase_date" | "proof_of_purchase" | "claim_details"[] | What to collect before coverage can be decided. |
| signals | "within_warranty_period" | "outside_warranty_period" | "exclusion_may_apply" | "proof_of_purchase_missing" | "prior_service" | "conflicting_information" | "safety_concern" | "claim_type_uncertain"[] | Facts that drove the result. |
| matched_terms | object[] | Covered items and exclusions that matched, quoted exactly from your terms, with their request field. |
Coverage (first match wins)
not_evaluated: No warranty_terms were sent.not_covered: The claim date is after the warranty period. This is the only automatic not-covered result.insufficient_information: The purchase date is missing, or required proof of purchase wasn't provided.requires_review: An exclusion may apply, the information conflicts, the claim is vague, or no covered item matches.covered: Within the period, proof satisfied, and a covered item (or a defect-type claim when no covered list is sent) matches.
Claim types
manufacturing_defect: A fault in how the product was made, such as a broken part, bad seam, or component that never worked.premature_failure: The product stopped working or wore out much sooner than expected under normal use.accidental_damage: Damage from an accident or external event, such as a drop, spill, impact, or fire.wear_and_tear: Normal deterioration from age and use, such as faded finish, worn soles, or reduced battery life over years.missing_components: Parts, accessories, or pieces were missing from the box.performance_issue: The product works but not as expected, such as slow, noisy, inaccurate, or intermittent behavior.other: None of the above.
A possible exclusion
Request
{
"claim_description": "I dropped my laptop down the stairs and now the screen is cracked.",
"product": {
"name": "Example 14-inch Laptop",
"model_number": "EX-14"
},
"purchase_date": "2025-06-12",
"claim_date": "2026-03-02",
"warranty_terms": {
"coverage_months": 24,
"covered": [
"Defects in materials and workmanship under normal use"
],
"exclusions": [
"Damage caused by drops, impacts, or liquid",
"Normal wear and tear, including cosmetic wear"
],
"requires_proof_of_purchase": true
},
"proof_of_purchase": {
"provided": true,
"type": "receipt"
},
"product_condition": "Cracked display, dented corner."
}Code
curl https://kovca.io/api/v1/warranty/triage \
-H "Authorization: Bearer $KOVCA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"claim_description": "The left hinge on my laptop cracked while opening the lid normally. It was never dropped. Now the screen wobbles.",
"product": {
"name": "Example 14-inch Laptop",
"model_number": "EX-14"
},
"purchase_date": "2025-06-12",
"claim_date": "2026-03-02",
"warranty_terms": {
"coverage_months": 24,
"covered": [
"Defects in materials and workmanship under normal use"
],
"exclusions": [
"Damage caused by drops, impacts, or liquid",
"Normal wear and tear, including cosmetic wear"
],
"requires_proof_of_purchase": true
},
"proof_of_purchase": {
"provided": true,
"type": "receipt"
}
}'Errors
400 INVALID_REQUEST: a field is missing, too long, the wrong type, or not allowed. The message names the field.413 PAYLOAD_TOO_LARGE: the body is larger than 16 KB.401 UNAUTHORIZED,429 RATE_LIMITED,503 SERVICE_UNAVAILABLE,504 TIMEOUT: see Errors and limits.
Limitations
- Coverage is evaluated only against the terms you send. Kovca doesn't know any manufacturer's warranty.
- Without a covered list, claims classified as defects, premature failures, missing components, or performance issues within the period are treated as covered; other types go to review.
- Advisory only. Not a legal determination of warranty rights.
- Request data is processed to produce the result and is not stored by Kovca.