Creates or updates a contact based on the external id and optionally triggers a double opt-in (doi) process. Note that none of the attributes is required.

Please also note, that the body must consiste of a valid JSON object, so at least {}. Further, a custom contact field value must not be empty or null. Remove the element in this case or set its value to “” in order to clear the current value.

Note: This method returns 409 (Conflict) if there are more then one contacts with the given external ID. In this case it is not possible to properly identify the contact any more. Change or remove them by identifying them with the unique Maileon ID or, if possible, by email.


Parameter Default Description
permission 1 Specifies the initial permission to be assigned to the contact.Please note: this is the initial permission that is assigned to the contact as soon as it is created. If a double-opt-in process is triggered, the permission is changed to DOI or DOI+ after the contact used the acknowledgement link in the DOI mailing. If the same contact is registered again after already acknowledging the DOI link (and thus, already has Permission 4 or 5) and you call this method with any other permission then 4 or 5 (less valuable), the permission will be ignored, since you already own a valid DOI(+) permission.
Further, if Permission 4 or 5 is already set and the account is set up not to send DOI mailings if there is already a DOI permission, no DOI mailing is triggered when creating the contact a second time.
Supported values:
1: none
2: single opt-in
3: confirmed opt-in
4: double opt-in
5: double opt-in plus
6: other
sync_mode 2 Specifies the synchronization option in case a contact with the provided email address already exists.

Supported values:
1: update (contact data will be updated)
2: ignore (nothing will be done)

src A string intended to describe the source of the contact. If provided, the string will be stored with the doi process.
subscription_page In case where this method was called by a subscription page, this string offers the possibility to keep track of it for use in reports.
doi false Tells whether a double opt-in process should be started for the created contact. Note that the status code returned for this request does not mean that the doi process succeeded. Supported values are true and false.
Notice: Please be aware that you can set up the behavior for (re-)sending DOI mails in your Maileon account under “Settings” -> “Double Opt-In”. Here you can define if a DOI mail should be sent to contacts not having finished the DOI process or contacts having a valid DOI permission already.
doiplus false This parameter is ignored if doi is not provided or false. In case the doi process succeeds, Maileon will be allowed to track opens and clicks of the contact.
doimailing This parameter is ignored if doi is not provided or false. References the doi mailing to be used. If not provided, the default doi mailing will be used.