Is there any way to update row in Data Extension without defined primary key through SOAP or REST API? I have a situation where I need to write some data in a SFMC DEs that will later be processed by some other systems. I've set up API integration and insert rows without issues but updating a row doesn't work. I get the data asynchronously so some fields need to be updated after the row is added initially.

These Data extensions where defined some time ago across many businness units and enterprises so I don't have access to them all and it would be very hard to migrate. I know that the updates can be done from the system perspective because currently it's done through cloud page code resource and updates perform correctly.

Is there any way to get this working through and API?

1 Answer 1


when a primary key isn't defined for a data extension, there is no unique identifier for a record in a data extension. As the Marketing Cloud generally doesn't know which row should be updated without having a primary key, updating such data extensions is not allowed - only the overwrite action is applicable. You may have a look at that article: Edit a record in data extension

This holds in general - regardless of how you want to update the extension (simple manual update, import, sql query or even REST API). So the answer to your question is no, you can't.

A workaround is either using the overwrite function (if possible - note that all existing records will be deleted and replaced by the new records) or by creating a new data extension with the same fields, marking one field as primary key and import the existing data.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .