Errors
All SDKs map PING8 API failures into predictable typed errors while preserving safe response context.
Server Codes
| Code | Meaning | SDK Error |
|---|---|---|
1001 | API key missing, invalid, or unauthorized | Authentication error |
1002 | Caller IP is not whitelisted | IP not allowed error |
1003 | Invalid recipient or recipient group check failed | Invalid recipient error |
1004 | Bound template does not exist | Template not found error |
1005 | Addresser/domain/engine validation failed | Addresser error |
HTTP And Transport Errors
| Condition | SDK Error |
|---|---|
HTTP 429 | Rate limit error |
HTTP 5xx | Server error |
| Timeout | Timeout error |
| Network failure | Transport error |
| Non-JSON or malformed response | Response error |
| Local invalid input | Validation error |
Response Context
Where the language supports it, errors expose:
- server
code - HTTP
status_code - parsed
response_data - truncated safe
response_text
API keys are not included in exception messages, repr output, docs examples, or logs.
Example
try {
await client.send("user@example.com");
} catch (error) {
if (error instanceof WorkonwardError) {
console.error({
code: error.code,
statusCode: error.statusCode,
message: error.message,
});
}
}