What it means
the device cannot hold that role (a scale is not a printer, and so on).
How to handle it
Choose a compatible device role; meta.role identifies the role the selected device cannot provide.
Wire contract
| Code | role_not_bindable |
|---|---|
| Class | conflict |
| HTTP status | 409 |
| Meta keys | role |
| Raised | Yes |
The response uses the standard {"error": {…}} envelope. Branch on error.code, not the human-readable message. Preserve request_id when reporting a failure.