The relationship-uniqueness query used (:excludeId IS NULL OR fm.id <> :excludeId). On create, excludeId is null and PostgreSQL parses the parameter as varchar before the IS NULL branch can short-circuit, so adding a family member returned 403 with "operator does not exist: bigint <> character varying". Split into two queries so neither has a nullable Long parameter. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>