POST Ticket Analyze API
/api/v1/ai/ticket-analyze
Analyze category, intent, sentiment, priority, urgency, department routing, and recommended actions of a customer support ticket.
Architecture Role & AI Definition
Ticket Analyze API provides low-latency, deterministic REST execution for production engineering workflows. It processes structured payloads with strict schema validation, returns uniform JSON envelopes, and is secured via SHA-256 API key authentication with atomic credit pre-authorization locks.
Production Reliability Guidelines
Configure a hard client timeout of 5 to 8 seconds. If network latency spikes, cancel connection to avoid holding open sockets in worker pools.
Upon receiving 429 Rate Limit or transient 5xx, pause with exponential backoff:
wait = min(max_backoff, base * 2^attempt + jitter).
RSFlowHub acquires an atomic lock verifying base credits before model invocation. If validation fails, zero credits are deducted.
Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
ticket |
string | Required | The customer support ticket message text (Max: 20,000 characters). |
subject |
string | Optional | Optional ticket subject header. |
language |
string | Optional | Optional ticket language identifier. |
customer_context |
string | Optional | Optional customer account details context. |
product_context |
string | Optional | Optional product catalogs or specs context. |
business_context |
string | Optional | Optional support operational policies or rules context. |
previous_messages |
array | Optional | Optional array of previous messages in the ticket conversation thread. |
model |
string | Optional | Optional AI model to use. |
Example Request
This example demonstrates how to request an analysis of a single login problem support ticket.
{
"ticket": "I cannot log in to my account. It keeps saying invalid password even after resetting it.",
"subject": "Login issue",
"customer_context": "User ID: 12345, Active Premium Subscription."
}
curl -X POST https://rsflowhub.com/api/v1/ai/ticket-analyze \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ticket": "I cannot log in to my account. It keeps saying invalid password even after resetting it.",
"subject": "Login issue",
"customer_context": "User ID: 12345, Active Premium Subscription."
}'
Example Response
The response returns intent, category, department recommendations, urgency indicators, and priority level details.
{
"success": true,
"data": {
"result": {
"category": "account",
"intent": "restore_access",
"sentiment": "negative",
"priority": "high",
"urgency": "high",
"issue_summary": "Customer is unable to access their account due to password reset failures.",
"key_problem": "Password reset mechanism not restoring account access.",
"requires_human": true,
"suggested_department": "account_support",
"recommended_action": "assign_agent",
"language": "en",
"confidence": 0.96
}
},
"meta": {
"credits_used": 2,
"credits_remaining": 998
}
}
API Request Example
Use the cURL snippet below to test the endpoint.
curl -X POST 'https://rsflowhub.com/api/v1/ai/ticket-analyze' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"ticket": "I cannot log in to my account. It keeps saying invalid password even after resetting it.",
"subject": "Login issue",
"customer_context": "User ID: 12345, Active Premium Subscription."
}'
Common Failure Modes & Troubleshooting Matrix
| HTTP Code | Error Code | Root Cause | Recommended Remediation |
|---|---|---|---|
| 400 | bad_request |
Malformed JSON syntax or missing required top-level parameters. | Validate JSON payload with Content-Type: application/json and ensure all required fields are present. |
| 401 | unauthorized |
Missing, revoked, or incorrectly formatted x-api-key header. |
Verify API key exists in Dashboard → API Keys and pass in x-api-key or Authorization: Bearer. |
| 402 | insufficient_credits |
Account credit balance is lower than the base required credits (3 credits). | Top up credits in billing settings or enable auto-recharge to prevent pipeline interruption. |
| 422 | validation_error |
Input failed parameter constraints (e.g., character length exceeded or invalid array types). | Review parameters table above and adjust payload length, types, or structure accordingly. |
| 429 | rate_limit_exceeded |
Concurrency limit (60 requests/minute default) reached for this endpoint key. | Back off and retry using the timestamp in Retry-After response header, or batch requests. |