I am trying to figure out how to use the SOAP API to update an existing Marketing Cloud subscriber's email address. I've tried different permutations of the below request (with Create and Update action) and although the response is successful, it does not update the record.
In the example below, my All Subscribers list as the id 52
.
Please can someone check?
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://exacttarget.com/wsdl/partnerAPI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<fueloauth
xmlns="http://exacttarget.com">77fMQroSJGVTIvmiOCxCuNWF
</fueloauth>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:UpdateRequest>
<Options>
<SaveOptions>
<SaveOption>
<PropertyName>*</PropertyName>
<SaveAction>UpdateAdd</SaveAction>
</SaveOption>
</SaveOptions>
</Options>
<ns1:Objects xsi:type="ns1:Subscriber">
<ns1:Attributes>
<ns1:Name>EmailAddress</ns1:Name>
<ns1:Value>simon@sausage.com</ns1:Value>
</ns1:Attributes>
<ns1:SubscriberKey>1234</ns1:SubscriberKey>
<ns1:Lists>
<PartnerKey xsi:nil="true"/>
<ObjectID xsi:nil="true"/>
<ns1:ID>52</ns1:ID>
</ns1:Lists>
</ns1:Objects>
</ns1:UpdateRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Best Answer
I was able to get it to work with this SOAP envelope -- without specifying the Lists: