Partial update of a single location row — NOT a full-array replace. An omitted field keeps its stored value; a provided field replaces it. The core embedded fields (name, address and its sub-fields, mcc, phone) may not be set to null: a location's site facts are always concrete, so there is no "clear back to inherited" and a null is rejected with HTTP 400. bankingId is the one nullable field — send a valid account id to assign (re-validated against the merchant's banking[] exactly as create does), or null to clear the assignment. primaryLocationId is NOT settable here; it lives on the merchant PATCH, and sending it — or any other unrecognized field — returns 400 rather than being silently ignored.
401Unauthorized (test-mode mismatch).
403Forbidden (platform mismatch).
404Merchant not found, or location not found on this merchant.
