What a caller is told when a response does not match its schema.
Types and paths, near enough: this is meant to be pasted into a bug report, and the body it describes belongs to
whoever ran the request — issue summaries, account names, custom field contents. A report that leaks those turns a
schema bug into someone else's incident.
One value does get quoted: the one that failed a closed set. A field the schema describes with a fixed list of
values cannot be holding free text, by construction — free-text fields are declared as plain strings and no list
ever rejects them. So quoting it risks nothing, and withholding it costs the reader the whole diagnosis: knowing
that projectTypeKey was not one of three listed values, without being told it was product_discovery, leaves
them to go and ask the API themselves.
What a caller is told when a response does not match its schema.
Types and paths, near enough: this is meant to be pasted into a bug report, and the body it describes belongs to whoever ran the request — issue summaries, account names, custom field contents. A report that leaks those turns a schema bug into someone else's incident.
One value does get quoted: the one that failed a closed set. A field the schema describes with a fixed list of values cannot be holding free text, by construction — free-text fields are declared as plain strings and no list ever rejects them. So quoting it risks nothing, and withholding it costs the reader the whole diagnosis: knowing that
projectTypeKeywas not one of three listed values, without being told it wasproduct_discovery, leaves them to go and ask the API themselves.