Error Handling
| Status | Meaning | Backend response |
|---|---|---|
200 | Success | { success: true, data: { ... } } |
400 | Bad request — invalid input or upstream request rejected | { success: false, error: "Invalid date format. Use DD-MM-YYYY." } |
401 | Unauthorized — API key missing or invalid | { success: false, error: "Invalid API key format" } |
403 | Forbidden — API key inactive | { success: false, error: "API key is inactive" } |
404 | Not found — requested record does not exist | { success: false, error: "Train history record not found" } |
429 | Too many requests — usage limit exceeded | { success: false, error: "Usage limit exceeded" } |
500 | Server error — backend or upstream failure | { success: false, error: "Internal server error" } |
Common Error Scenarios
Missing configure(apiKey) call
Invalid or expired API key (401)
Inactive API key (403)
Rate limit exceeded (429)
Invalid train/PNR/date inputs
Temporary upstream timeout or API outage