- Shipped
- September 2, 2026 at 2:51 AM UTC
- Author
- Kamo
- Commit
- ec2ae5e
The PUT is the org's complete set of custom labels, so it has to be able to carry an emptied box. Two things stopped it: an empty list was rejected as a malformed request, which is exactly the body sent when an org clears the last label it had; and the handler upserted whatever arrived, so a blank label would have been stored rather than acted on. Both now route through syncLabels, where a blank entry and an absent status alike delete the row. The body is also read defensively now — a statusId that is any Number rather than an Integer, and a customLabel that is absent — since a ClassCastException in here surfaced to the org as a bare 400 with no indication of which field.