Retry Strategy
Transient Errors
We automatically retry if the returned response indicates a temporary issue that could resolve over time.
| Status Code | Definition |
|---|---|
| 408 | Request Timeout |
| 429 | Too Many Requests |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
All client errors will be manually retried after we resolve the issue. For more information about these types of errors, see Error Handling.
Retry Request
Retries will be up to 3 times at intervals:
| Retry Count | Duration |
|---|---|
| 1 | 3 minutes |
| 2 | 9 minutes |
| 3 | 27 minutes |
For each retry, a retryCount will also be added in the request metadata for reference.
{
"metadata": {
"requestID": "phil_request_id",
"requestTimestamp": "2024-09-11T12:12:00Z",
"retryCount": 2
}
...
}If all retry attempts fail, we will flag the request and troubleshoot on our end.
Failure Rate
If the failure rate exceeds 50% in a 1-hour window, all API requests, including retries, will be disabled. PHIL will reach out to understand the root cause and a timeline for the fix if necessary.