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.