The API uses conventional HTTP status codes, plus a JSON envelope that carries a machine code and human message.
{
"error": {
"code": "VALIDATION_ERROR",
"message": "priority must be one of low, normal, high, urgent",
"details": { "field": "priority" }
}
}error.code; messages are human-oriented and may change.