Difference between null and "" in contact property value

Hello dear hubspot community!
I have two simillar contacts with property “hs_lead_status” = empty value on UI.
But when I’m requesting them via API I have 2 different values. One contact has “hs_lead_status”: null, but other one has “hs_lead_status”: “”.
For analytics purposes I need to have exact same values, so I’m trying to find is it even possible to set “” to null value?
I tried to unset value via UI, API request and imports, but contact with “” still have “” how I wouldn’t tried.
Thank you in advance!

{

“id”: “11572901”,

“properties”: {

“createdate”: “2023-09-11T13:21:39.531Z”,

“hs_lead_status”: “”,

“hs_object_id”: “11572901”,

“lastmodifieddate”: “2024-03-22T11:18:53.422Z”

},

“createdAt”: “2023-09-11T13:21:39.531Z”,

“updatedAt”: “2024-03-22T11:18:53.422Z”,

“archived”: false

}

{

“id”: “3301138120”,

“properties”: {

“createdate”: “2024-03-22T11:21:38.907Z”,

“hs_lead_status”: null,

“hs_object_id”: “3301138120”,

“lastmodifieddate”: “2024-03-22T11:23:40.849Z”

},

“createdAt”: “2024-03-22T11:21:38.907Z”,

“updatedAt”: “2024-03-22T11:23:40.849Z”,

“archived”: false

}

@ASolovev -- I don’t know if I have a very good answer for you here, but I’ll try and contribute my observations.

- unset property values, in general, seem to be best represented (in Python at least) by the intrinsic ‘None’ value.

- hs_lead_status, in particular, is an ennumerated type and therefore will tend to have two “unset” values as you have discovered. The first is when the property has never been set (a new record for example) - where you might see the value as null or None. The second is where the property has been “cleared” to a default unset value in the picklist through the UI or other action - where the interval value may well be set to “” perhaps depending on how you have set up the ennumeration.

I hope this is helpful in resolving your question.

Steve