Skip to main content

Error Codes

Most JSON API handlers return HTTP 200 with a business code in the response envelope. Health checks and WebSocket handshake failures use conventional HTTP status codes, so clients must handle both layers.

CodeMeaning
0Success
40001Required parameter missing
40002Invalid parameter or request body
40100Authentication required or invalid
40101Token expired
40102Two-factor verification required
40103Two-factor verification failed
40300Operation forbidden by authorization policy
40400Requested record or Kubernetes resource not found
40900Existing resource, version conflict, or concurrent operation
42200Validation or Kubernetes dry-run failure
50000Internal server error
50200Kubernetes cluster unavailable

Messages provide additional context but are not a stable machine-readable API. Branch on code, and include the request ID from response metadata or headers when reporting an internal error.

Do not retry validation, authentication, or authorization failures blindly. Retry transient server and cluster failures with a bounded backoff, and re-fetch a resource before retrying a version conflict.