Warnings
A write that carries revenue is not refused over a part of it that cannot
be used. The rest lands, and each part that did not is a warning in
response_metadata.warnings, with a code, the field it came from and
a message:
{ "response_metadata": { "warnings": [ { "code": "property_type_mismatch", "field": "properties.seats", "message": "`seats` holds number values in this source, and `many` is not one." } ] }}The codes are property_type_mismatch, a value that does not fit its
key’s type; property_key_refused, a key that could not be registered;
and customers_merged, when the identities a write names belong to
another customer, which is then merged into this one. A merge cannot be
undone.
To have a write refused rather than partly applied, send
"on_warning": "error". Nothing is saved, and the warnings come back as
errors with the same codes. That suits a form, where somebody is waiting
to be told what to fix; an integration that sends data usually wants the
default, warn.