@Bill_Reynolds - I think I am seeing a misunderstanding behind the details here. An record - like a Contact or Deal - does have a record id value (the internal name of this property on a Deal is actually ‘hs_object_id’
The property itself is uniquely referenced by a combination of this record id value and the internal name of the property itself. There is no ID value for the property.
So, by a quick scan of the API JSON you provided in the initial query, you are trying to patch a property with the internal name of ‘d_tools_project’ The parameters provided look consistent to me.
If you want to update the definition of a property on this object (the available dropdown choices for example) then you have all you need to construct a property update using the object type:
https://api.hubapi.com/crm/v3/properties/{objectType}
But bear in mind the update will need to contain the old values AND the new ones - you can’t just add to the list in a single API operation.
If you are looking to set a value on an existing deal record for example, then the patch operation will need the deal ID.
https://api.hubapi.com/crm/v3/objects/deals/{dealId}
Hope this helps!
Steve