Error Handling

StatusMeaningBackend response
200Success{ success: true, data: { ... } }
400Bad request — invalid input or upstream request rejected{ success: false, error: "Invalid date format. Use DD-MM-YYYY." }
401Unauthorized — API key missing or invalid{ success: false, error: "Invalid API key format" }
403Forbidden — API key inactive{ success: false, error: "API key is inactive" }
404Not found — requested record does not exist{ success: false, error: "Train history record not found" }
429Too many requests — usage limit exceeded{ success: false, error: "Usage limit exceeded" }
500Server 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