Skip to content

Handling Errors

Error Format

{
"error": {
"message": "Human-readable description",
"type": "error_type",
"code": "specific_code"
}
}

Retry Strategy

For transient errors (429, 503, 502), use exponential backoff:

import time
import requests
def retry_request(url, max_retries=3):
for attempt in range(max_retries):
response = requests.post(url, ...)
if response.status_code == 200:
return response
if response.status_code in (429, 503, 502):
wait = 2 ** attempt # 1s, 2s, 4s
time.sleep(wait)
continue
return response # Non-retryable error
return response

Non-Retryable Errors

Do not retry these errors:

StatusTypeAction
401invalid_api_keyFix API key
403forbiddenFix permissions
400validation_errorFix request
404not_foundCheck ID

Next Steps