details is intentionally loose: for invalid_request it contains the
validation issues (field paths + messages); for conflict codes it may carry
the conflicting resource id (e.g. {asyncConsultId} on
has_open_thread). Never required for handling — code alone is enough
to branch on.
The JSON body of every error response.
Remarks
detailsis intentionally loose: forinvalid_requestit contains the validation issues (field paths + messages); for conflict codes it may carry the conflicting resource id (e.g.{asyncConsultId}onhas_open_thread). Never required for handling —codealone is enough to branch on.