Skip to content

Error Responses

All error responses follow a consistent JSON format.

Standard Error

json
{
  "success": false,
  "message": "Human-readable error description"
}

Validation Errors (422)

Write operations (POST) that fail validation return field-level errors:

json
{
  "errors": {
    "name": ["Name is required"],
    "price": ["Price must be a positive number"]
  }
}

HTTP status: 422 Unprocessable Entity

Status Codes

CodeMeaningWhen
200SuccessSuccessful GET, POST, DELETE
201CreatedSuccessful POST (entity created)
400Bad RequestInvalid JSON input, missing required fields
401UnauthorizedMissing or invalid JWT token on a protected endpoint
403ForbiddenValid token but insufficient role/permissions
404Not FoundEntity with given ID does not exist
409ConflictDuplicate entry (e.g., email already registered)
422Validation ErrorInput validation failed (see errors object)
500Server ErrorUnexpected server-side error

Success Responses

All successful responses include "success": true:

json
{
  "success": true,
  "data": { ... }
}

For delete operations:

json
{
  "success": true,
  "message": "Entity deleted successfully"
}