Email Components
Update email component
Updates component metadata or replaces its blocks. Replacing blocks bumps the component version; emails built earlier keep the copy they were created with. Editing the component pinned as the default footer keeps its unsubscribe link enabled.
patch/email-components/{componentId}
Path parameters
componentIdstring required
Request body
Example request
{
"blocks": [
{
"id": "block_123",
"type": "html",
"content": "<h1>Hello</h1>",
"styles": {
"backgroundColor": "#f8fafc",
"backgroundOpacity": 80,
"textColor": "#111827",
"borderRadius": 12,
"borderColor": "#cbd5e1",
"borderWidth": 1
},
"conditions": [
{
"id": "c1",
"value": "plan:pro"
}
]
}
]
}Response
Component updated
Example response
{
"success": true,
"component": {
"id": "cmp_123",
"companyId": "company_123",
"name": "Default Footer",
"blocks": [
{
"id": "block_123",
"type": "html",
"content": "<h1>Hello</h1>",
"styles": {
"backgroundColor": "#f8fafc",
"backgroundOpacity": 80,
"textColor": "#111827",
"borderRadius": 12,
"borderColor": "#cbd5e1",
"borderWidth": 1
},
"conditions": [
{
"id": "c1",
"value": "plan:pro"
}
]
}
],
"componentType": "footer",
"defaultSlot": "footer",
"version": 3
},
"warnings": [
"blocks[0].styles.color is not a supported field and was ignored. Button label color comes from the block-level `buttonTextColor` field. Supported styles fields: backgroundColor, backgroundOpacity, bleed, borderColor, borderRadius, borderWidth, paddingBottom, paddingLeft, paddingRight, paddingTop, textAlign, textColor."
]
}