Response Codes
Koard uses standard HTTP status codes.
| Code | Meaning |
|---|---|
200 |
Success |
201 |
Resource created |
202 |
Accepted |
204 |
No content |
400 |
Validation failure — check the response body for details |
401 |
Missing or invalid API key |
403 |
Insufficient permissions for this operation |
404 |
Resource not found |
409 |
Conflict — resource already exists or state mismatch |
422 |
Request cannot be processed |
429 |
Rate limited — slow down and retry |
500 |
Unexpected server error |
Error responses include a body with a detail field describing the issue:
{
"detail": "Terminal not found for the given account"
}
SDK Error Mapping
If you're using the Koard Android SDK, these HTTP status codes are automatically wrapped into KoardException with typed error classifications. You don't need to parse HTTP codes directly — use the KoardErrorType sealed hierarchy instead:
| HTTP Code | SDK Error Type | Description |
|---|---|---|
| 400 | KoardServiceErrorType.HttpError(400) |
Validation failure |
| 401 | KoardServiceErrorType.Unauthorized |
Invalid or expired API key |
| 403 | KoardServiceErrorType.HttpError(403) |
Insufficient permissions |
| 404 | KoardServiceErrorType.NotFound |
Resource not found |
| 409–422 | KoardServiceErrorType.HttpError(code) |
Conflict or processing error |
| 429 | KoardServiceErrorType.HttpError(429) |
Rate limited |
| 500 | KoardServiceErrorType.UnexpectedError |
Server error |
| Network failure | KoardServiceErrorType.ConnectionError |
DNS, timeout, or connectivity issue |
See the SDK Response Codes & Error Handling guide for the full KoardErrorType reference and code examples.

