Error Categories
Pingward classifies test failures into categories to help you understand and respond to issues.
Category List
Connection Errors
| Category | Description | Common Causes |
|---|---|---|
| Timeout | Request exceeded timeout limit | Slow server, network issues, server overload |
| ConnectionRefused | Server rejected the connection | Server down, wrong port, firewall |
| DnsResolutionFailed | Could not resolve hostname | DNS misconfiguration, domain expired |
| SslCertificateError | TLS/SSL handshake failed | Expired certificate, invalid cert, hostname mismatch |
| ConnectionReset | Connection was reset | Server crash, network interruption |
| RedirectLoop | Too many redirects | Misconfigured redirects |
HTTP Errors
| Category | Description | HTTP Codes |
|---|---|---|
| ServiceUnavailable | Server cannot handle request | 502, 503, 504 |
| ServerError | Server-side error | 500, 501, other 5xx |
| BadRequest | Client error in request | 400 |
| AuthenticationFailed | Authentication required/failed | 401 |
| Forbidden | Access denied | 403 |
| NotFound | Resource not found | 404 |
| RateLimited | Too many requests | 429 |
| ClientError | Other client errors | Other 4xx |
Validation Errors
| Category | Description |
|---|---|
| AssertionFailed | Response didn't match assertions |
| ContentMismatch | Response content unexpected |
| BodyTooLarge | Response exceeded size limit |
Other
| Category | Description |
|---|---|
| Unknown | Unclassified error |
Default Severities
Each category has a default severity that reflects its typical impact:
Critical (Immediate Action)
- ServiceUnavailable
- Timeout
- ConnectionRefused
- DnsResolutionFailed
High (Urgent)
- SslCertificateError
- ServerError
- ConnectionReset
- RedirectLoop
Medium (Important)
- AssertionFailed
- AuthenticationFailed
- Forbidden
- RateLimited
- ContentMismatch
Low (Minor)
- BadRequest
- NotFound
- ClientError
- BodyTooLarge
- Unknown
Customizing Severity
You can change the severity for any category in Settings → Severity.
Common customizations:
- NotFound → Critical: For critical resources that must exist
- Timeout → Medium: For known-slow APIs
- AssertionFailed → High: For critical validation checks
Using Categories in Routing
Route alerts based on error category:
Conditions:
Error Categories: Timeout, ConnectionRefused, ServiceUnavailable
Actions:
→ PagerDuty (Infrastructure Team)Conditions:
Error Categories: AssertionFailed, ContentMismatch
Actions:
→ Slack #api-teamTroubleshooting by Category
Timeout
- Check server response times
- Look for resource exhaustion
- Check network path
- Consider increasing timeout threshold
ConnectionRefused
- Verify server is running
- Check correct port
- Review firewall rules
- Check security groups
DnsResolutionFailed
- Verify domain name is correct
- Check DNS propagation
- Review DNS server configuration
- Check for domain expiration
SslCertificateError
- Check certificate expiration
- Verify certificate chain
- Ensure hostname matches
- Update root certificates
ServiceUnavailable
- Check upstream dependencies
- Review server capacity
- Look for deployment issues
- Check load balancer health