1. As stated in the Create a new contact API documentation, the reason why you are seeing a status error 409 after adding an email is because,
There is an existing contact with the email address included in the request. The response body will include the identityProfile details of the contact, which will include the vid of the existing record.
You can try using a different email that doesn't exist within your portal and see if all is well.
2. When looking at the POST body which contain the custom property, I noticed that the value for the label custom property has [ ] which is likely why you're seeing a 400 error as it is an invalid JSON (You can check the JSON validity here: https://jsonformatter.curiousconcept.com/).
1. As stated in the Create a new contact API documentation, the reason why you are seeing a status error 409 after adding an email is because,
There is an existing contact with the email address included in the request. The response body will include the identityProfile details of the contact, which will include the vid of the existing record.
You can try using a different email that doesn't exist within your portal and see if all is well.
2. When looking at the POST body which contain the custom property, I noticed that the value for the label custom property has [ ] which is likely why you're seeing a 400 error as it is an invalid JSON (You can check the JSON validity here: https://jsonformatter.curiousconcept.com/).
I've deleted all contacts, created ridiculous & creative email addresses to prevent having it repeated and still have the same issue.
With all contacts deleted, meaning having no contacts at all, if I make the request with axios the 409 error comes in the response, but, here the interesting part, the contact is created despite the error, so I end up with one contact that has been created but an error in the response, sounds like a bug to me.