Create Component
const url = 'https://example.com/%7B%7Bapp_url%7D/api/v1/workspaces/1/email_design_systems/1/components';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"hero_banner","label":"Hero Banner","template":"<tr><td style=\"padding: 20px;\"><h1>{{title}}</h1><p>{{description}}</p></td></tr>","field_definitions":[{"type":"text","label":"example","group":"Styling","liquid_variable":"heading_text","visible_if":"show_heading == true","default_value":"example","validations":{"min_length":1,"max_length":1,"must_not_be_blank":true,"must_not_be_default":true},"hint":"Keep this short and punchy","hidden_in_editor":true,"hidden_from_ai":true,"feed_field_name":"example"}],"feed_id":1,"deprecated":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/%7B%7Bapp_url%7D/api/v1/workspaces/1/email_design_systems/1/components \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "hero_banner", "label": "Hero Banner", "template": "<tr><td style=\"padding: 20px;\"><h1>{{title}}</h1><p>{{description}}</p></td></tr>", "field_definitions": [ { "type": "text", "label": "example", "group": "Styling", "liquid_variable": "heading_text", "visible_if": "show_heading == true", "default_value": "example", "validations": { "min_length": 1, "max_length": 1, "must_not_be_blank": true, "must_not_be_default": true }, "hint": "Keep this short and punchy", "hidden_in_editor": true, "hidden_from_ai": true, "feed_field_name": "example" } ], "feed_id": 1, "deprecated": true }'Creates a new component.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Workspace ID
Email Design System ID
Request Body
Section titled “Request Body”object
A unique identifier for the component (used in code/templates).
Example
hero_bannerThe human-readable display name of the component.
Example
Hero BannerThe Liquid HTML template for the component.
Example
<tr><td style="padding: 20px;"><h1>{{title}}</h1><p>{{description}}</p></td></tr>object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
object
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
Whether to skip link tracking for URLs in this field.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
object
object
object
object
object
Example
{ "bold": { "enabled": true }, "italic": { "enabled": true }, "link": { "enabled": true }, "bullet_list": { "enabled": true }, "numbered_list": { "enabled": true }}Names of custom rich text styles available for this field.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
Example
StylingThe Liquid variable name used to reference this field in templates.
Example
heading_textA Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
Example
show_heading == trueobject
Helper text displayed below the field in the editor.
Example
Keep this short and punchyWhether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
The ID of the data feed to associate with this component. If null, no feed is linked.
Example
1Responses
Section titled “Responses”Successful
object
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
Whether to skip link tracking for URLs in this field.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
object
object
object
object
object
Names of custom rich text styles available for this field.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
object
An optional label used to group related fields together in the editor.
The Liquid variable name used to reference this field in templates.
A Liquid expression (without the surrounding {% %}) that determines when this field is visible in the editor.
object
Helper text displayed below the field in the editor.
Whether this field is hidden from the editor UI.
Whether this field is hidden from AI Agents.
The name of the feed field that populates this field’s value. If null, this field is not populated from a feed.
Example
{ "name": "MyComponent", "label": "My Component", "description": "A hero banner image with a headline and image, body text and a call to action button.", "email_design_system_id": 12345, "updated_at": "2023-08-23T10:30:00.000Z", "created_at": "2023-08-23T10:30:00.000Z", "container": false, "template": "<div>My Component</div>", "field_definitions": [ { "type": "text", "group": "Styling", "liquid_variable": "heading_text", "visible_if": "show_heading == true", "hint": "Keep this short and punchy" } ], "screenshot_url": "https://www.example.com/screenshot.png", "position": 1, "last_updated_by": { "type": "User", "id": 12345, "first_name": "John", "last_name": "Smith", "profile_image_url": "https://example.com/profile.jpg" }, "feed_id": 12345, "deprecated": false}Unauthorized
object
Example
{ "message": "Record not found"}Forbidden
object
Example
{ "message": "Record not found"}Unprocessable Entity
object
object
Example
{ "errors": { "username": [ "Username is required.", "Username must be unique." ], "email": [ "Invalid email format." ] }}