Success responses
Reads and writes come back wrapped, so you always know where to look for the data.
POST with a single object returns value. POST with an array returns values.
Send an array of one if you want the shape to stay predictable across batch sizes.
Several write endpoints return 204 with no body at all: the schedule and progress
actions, reorder, work-session save and stop, and the user deactivate, reactivate,
and invite-resend calls. Re-read the record when you need its new state.
Errors
Every error carries the same envelope.
message wording can change without notice. code will not, so write your error
handling against code and keep message for humans.
Error codes
A 429 also carries a top-level message alongside error, kept for callers
written against the older shape. Read error.code rather than the top-level
field.