What is the UID for on a Contact?
In the contacts (v2) API, there is a PUT (aka "Create or Update") call which requires a UID in the body. The doc for the call describes the UID as "The unique id to be included as part of the contact's generated id." This makes it sound like the UID is not the actual ID but somehow controls the ID calculation. But in fact doing two consecutive PUTs with the same UID in the body does not update the contact created by the first call; the second call returns a contact with a new ID entirely. And using the ID of a contact in the UID of a PUT does not cause that contact to be updated, instead a new contact is created with a different ID.
Also, there seems to be no way to fetch the UID that was uploaded in the body of a PUT call.
So what exactly is the UID? And what is the difference between the PUT and POST calls for inserting new contacts? Is there any way to search for or update an existing contact by UID?
(NOTE: I have only tested on Company contacts, not personal ones.)