How do I use the `DynamicContent` via API? | Community
Skip to main content
Level 1
July 16, 2026
Question

How do I use the `DynamicContent` via API?

  • July 16, 2026
  • 1 reply
  • 17 views

We have a very simple setup, an email asset with one module containing dynamic content set up in the legacy email editor. 

We get the email content using https://{{endpoint}}/rest/asset/v1/email/{{id}}/content.json and it returns a body similar to this

 

{

   "success": true,

   "errors": [],

   "requestId": "4202#19ee08c5295",

   "warnings": [],

   "result": [

       {

           "htmlId": "foobar2026",

           "value": "RVMtZm9vYmFyMjAyNg==",

           "contentType": "DynamicContent",

           "isLocked": false

       }

   ]

}

 

However, if we attempt anything in the email DynamicContent whether it’s a GET or POST using either of these endpoints https://{{endpoint}}/rest/asset/v1/email/{{id}}/dynamicContent/{{htmlId}}.json where the htmlId is the one returned by the first email content endpoint, we get a no assets found response.

 

{

   "success": true,

   "errors": [],

   "requestId": "e1d4#19ee08ffc81",

   "warnings": [

       "No assets found for the given search criteria."

   ]

}


 

Can you help clarify how to properly update a DynamicContent block in an email asset? 

 

1 reply

Level 2
July 19, 2026

The htmlId from /email/{id}/content.json is not the Dynamic Content asset ID. It’s just the module identifier inside the email HTML, so using it with /dynamicContent/{htmlId}.json will return “No assets found.”

You’ll need to retrieve the actual Dynamic Content object ID first, then use that ID for GET/POST updates. Legacy email editor dynamic modules can be tricky since the IDs exposed in the content endpoint don’t map directly to the Dynamic Content API.

ibrahim_hAuthor
Level 1
July 19, 2026

 ​@Jasonmiller2334  Oh okay! Do you know which endpoints specifically to use to get the actual dynamicContent ID?