Error Handling
All IOTMER API errors follow RFC 7807 Problem Details format.
Error response shape
{
"type": "https://console.iotmer.com/api/v1/problems/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "Request body is invalid",
"trace_id": "01HRXYZ...",
"errors": {
"name": ["Name is required", "Name must be at least 3 characters"],
"region_code": ["Unknown region code: xx-invalid-1"]
}
}
Common HTTP status codes
| Status | Meaning |
|---|---|
200 | Success |
201 | Resource created |
204 | Success, no body (DELETE) |
400 | Bad request (malformed JSON, missing fields) |
401 | Unauthenticated — missing or invalid token/key |
403 | Forbidden — authenticated but insufficient permissions |
404 | Resource not found |
409 | Conflict — e.g. duplicate name |
422 | Validation error — see errors field for details |
429 | Rate limited — see Rate Limits |
500 | Internal server error — include trace_id when reporting |
Using trace_id for support
Every error response includes a trace_id. Include this when contacting IOTMER support — it allows us to correlate logs to your specific request instantly.