Support Triage
Classify a support message by category and priority, and flag it for human review.
POST https://kovca.io/api/v1/support/triageRequest body
| Field | Type | Description |
|---|---|---|
| message | string, required | The customer's message. 1–8,000 characters after trimming. |
| subject | string, optional | The ticket subject line. Up to 200 characters. |
{
"subject": "Refund not received",
"message": "I returned my order two weeks ago and still haven't received my refund."
}Response
{
"request_id": "req_8sJq2LwzVd0cYb1E",
"category": "billing",
"priority": "medium",
"requires_human_review": false
}| Field | Type |
|---|---|
| request_id | string |
| category | "billing" | "technical" | "account" | "product" | "other" |
| priority | "low" | "medium" | "high" |
| requires_human_review | boolean |
Categories
billing: Charges, invoices, payments, refunds, subscriptions, or pricing.technical: Errors, bugs, outages, crashes, slow performance, or integration problems.account: Signing in, passwords, account access, profile details, or account settings.product: How a feature works, how to use the product, or a feature request.other: Something else, such as shipping, partnerships, job inquiries, or spam.
How the result is determined
Kovca makes four separate judgments about the message: which category it belongs to, how urgent it is on a three-level scale, whether it threatens legal or regulatory action, and whether it reports a security problem. Each judgment has an internal likelihood. Kovca then applies these fixed rules:
categoryis the most likely category.priorityis the most likely urgency level:low(general question or feedback),medium(a problem that needs fixing, but the customer can keep working), orhigh(the customer is blocked right now: an outage, a broken core feature, or work they cannot complete). A likely security problem (probability ≥ 70%) is alwayshigh.requires_human_reviewistrueif any of these holds:- the probability of a legal or regulatory threat is at least 30%;
- the probability of a security problem is at least 30%;
- the top category has a probability below 60%;
- the top urgency level has a probability below 50%.
These likelihoods are internal and are not part of the response, and they are not calibrated confidence scores. Treat the output as a routing aid, not a guarantee. Your own business rules decide what happens next.
Examples
curl https://kovca.io/api/v1/support/triage \
-H "Authorization: Bearer $KOVCA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": "Refund not received",
"message": "I returned my order two weeks ago and still haven'\''t received my refund."
}'Errors
400 INVALID_REQUEST:messageis missing or empty, a field is too long or the wrong type, or the body has an unknown field.401 UNAUTHORIZED: the API key is missing or invalid.429 RATE_LIMITED: the workspace rate limit was exceeded.503 SERVICE_UNAVAILABLE/504 TIMEOUT: temporary; retry with backoff.
See Errors and limits for the full list.
Data handling
The message and subject are processed to produce the result. They are not stored by Kovca; only request metadata (status, latency, timestamp) is recorded.