Oracle Service Cloud - How to Set emailAddress when Creating or Updating a Contact

While using Oracle Service Cloud to create a contact with emailAddress, include "action": "add" and "invalid": false to the emailList array in order to successfully add email to the contact. 

If the "action" parameter is missing or setting "invalid" flag to true then emailAddress is not added to the contact. 

Here is the sample payload to add/update emailAddress to the contact using POST /contacts or PATCH /contacts/{id} API call:

{

 "emails": {
        "emailList": [
            {
                "address": "myadd1@mail.com",

                "addressType": {
                    "id": {
                        "id": 0
                    },

                    "name": "Email - Primary"
                },

                "action": "add",
                "invalid": false
            }
        ]
    },

     "name": {
        "first": "Testing",

        "last": "CE"

    }
  }

EmailAddress added should be unique, if we are adding already existing emailAddress to the contact then user will be receiving below error: 

"Cannot save/create: Contact: Unknown fatal error while saving/creating Contact\nWhile performing create on Contact"