The /person endpoint is generally quite strict on push, and it rejects invalid attributes on the object passed to it. For instance, fields which do not exist on the object or under custom fields will return a 400 with the error code "invalid_custom_field". However, the pseudo-attribute primary_address is accepted but no action is taken if it is passed. This should either be handled (i.e. a new address is created and assigned to the person), or the request should be rejected as invalid.