{"Status":true,"Message":"","Response":{"post":{"postuid":"67003365-5321-4753-9ba6-a4e0c1d517b8","tenantuid":"d8b744fc-2e70-4089-bb80-dd1d08f6c7b2","projectuid":"542e5f51-33cf-401f-aebe-4324ebe36fe4","title":"Create or Update an Email","slug":"reference/create-or-update-email","html":"\u003Cp\u003ECreates a new email, or updates an existing email when the posted body includes a non-zero \u003Ccode\u003EemailId\u003C/code\u003E. The URL path \u003Ccode\u003Eid\u003C/code\u003E is required by the route but is ignored by the endpoint \u2014 the server uses the \u003Ccode\u003EemailId\u003C/code\u003E value from the JSON body. See \u003Ca href=\u0022/reference/get-email\u0022\u003EGet Email\u003C/a\u003E for the full shape of the Email object.\u003C/p\u003E\u003Cdiv class=\u0022api_header\u0022\u003EPath Parameters\u003C/div\u003E\u003Csection class=\u0022api_parameters\u0022\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Eid\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Enumber\u003C/span\u003E\u003Cspan class=\u0022p_isrequired\u0022\u003Erequired\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EPlaceholder in the route. The actual target is taken from \u003Ccode\u003EemailId\u003C/code\u003E in the request body; you can pass 0 here when creating.\u003C/div\u003E\u003C/section\u003E\u003C/section\u003E\u003Cdiv class=\u0022api_header\u0022\u003EHTTP Request Examples\u003C/div\u003E\u003Cdiv class=\u0022code_wrapper\u0022\u003E\u003Cdiv class=\u0022d-flex header\u0022\u003E\u003Cspan\u003ECreate a new email\u003C/span\u003E\u003C/div\u003E\u003Cdiv class=\u0022code\u0022 data-language=\u0022json\u0022\u003E{\r\n  \u0026quot;emailId\u0026quot;: 0,\r\n  \u0026quot;name\u0026quot;: \u0026quot;Welcome Email\u0026quot;,\r\n  \u0026quot;campaignId\u0026quot;: 69,\r\n  \u0026quot;parentId\u0026quot;: 0,\r\n  \u0026quot;status\u0026quot;: \u0026quot;Active\u0026quot;,\r\n  \u0026quot;from\u0026quot;: \u0026quot;hello@example.com\u0026quot;,\r\n  \u0026quot;subject\u0026quot;: \u0026quot;Welcome to Acme\u0026quot;,\r\n  \u0026quot;preheader\u0026quot;: \u0026quot;Thanks for signing up\u0026quot;,\r\n  \u0026quot;body\u0026quot;: \u0026quot;\u0026lt;p\u0026gt;Welcome!\u0026lt;/p\u0026gt;\u0026quot;,\r\n  \u0026quot;plaintext\u0026quot;: \u0026quot;Welcome!\u0026quot;,\r\n  \u0026quot;isEnabled\u0026quot;: true,\r\n  \u0026quot;isOpenTrackingEnabled\u0026quot;: true,\r\n  \u0026quot;isClickTrackingEnabled\u0026quot;: true\r\n}\u003C/div\u003E\u003C/div\u003E\u003Cdiv class=\u0022code_wrapper\u0022\u003E\u003Cdiv class=\u0022d-flex header\u0022\u003E\u003Cspan\u003EUpdate an existing email\u003C/span\u003E\u003C/div\u003E\u003Cdiv class=\u0022code\u0022 data-language=\u0022json\u0022\u003E{\r\n  \u0026quot;emailId\u0026quot;: 128,\r\n  \u0026quot;name\u0026quot;: \u0026quot;Welcome Email (v2)\u0026quot;,\r\n  \u0026quot;subject\u0026quot;: \u0026quot;Welcome to Acme \u2014 updated\u0026quot;\r\n}\u003C/div\u003E\u003C/div\u003E\u003Cdiv class=\u0022api_header\u0022\u003EHTTP Request Parameters\u003C/div\u003E\u003Csection class=\u0022api_parameters\u0022\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003EemailId\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Enumber\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EId of the email to update. Omit or set to 0 to create a new email.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Ename\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EDisplay name of the email. Required.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003EcampaignId\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Enumber\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EId of the campaign this email belongs to. Required when creating.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003EparentId\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Enumber\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EId of the parent email (used when replying \u0022on top of\u0022 another email). Set to 0 for standalone emails.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Estatus\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EEmail status. One of: Active, Paused, Archived, Deleted.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Esubject, preheader, from, replyTo, to, cc, bcc\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EStandard email header fields. \u003Ccode\u003Efrom\u003C/code\u003E is required for non-transactional sends; \u003Ccode\u003Eto\u003C/code\u003E is populated automatically at send time.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Ebody\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe rendered HTML body of the email.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Eplaintext\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EOptional plaintext version of the body.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Ecss\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EOptional CSS stylesheet applied to the email.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Ecomponents\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EOptional JSON payload used by the DailyStory email designer to round-trip structured edits.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Eamp\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EOptional AMP-for-Email variant.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Edescription\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EInternal description shown in the email list.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003EisEnabled, isWebViewEnabled, isOpenTrackingEnabled, isClickTrackingEnabled, isTransactional, isIgnoreAutoReply\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Eboolean\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EFeature flags. \u003Ccode\u003EisTransactional\u003C/code\u003E = true bypasses opt-out checks at send time.\u003C/div\u003E\u003C/section\u003E\u003C/section\u003E\u003Cdiv class=\u0022api_header\u0022\u003EHTTP Response Examples\u003C/div\u003E\u003Cdiv class=\u0022code_wrapper\u0022\u003E\u003Cdiv class=\u0022d-flex header\u0022\u003E\u003Cspan class=\u0022httpstatus\u0022\u003E\u003Cspan class=\u0022solid-circle success\u0022\u003E\u003C/span\u003E200\u003C/span\u003E\u003C/div\u003E\u003Cdiv class=\u0022code\u0022 data-language=\u0022json\u0022\u003E{\r\n  \u0026quot;Status\u0026quot;: true,\r\n  \u0026quot;Message\u0026quot;: \u0026quot;\u0026quot;,\r\n  \u0026quot;Response\u0026quot;: {\r\n    \u0026quot;id\u0026quot;: \u0026quot;128\u0026quot;\r\n  }\r\n}\u003C/div\u003E\u003C/div\u003E\u003Cdiv class=\u0022api_header\u0022\u003EHTTP Response Parameters\u003C/div\u003E\u003Csection class=\u0022api_parameters\u0022\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Eid\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe id of the created or updated email, returned as a string.\u003C/div\u003E\u003C/section\u003E\u003C/section\u003E","json_meta":{"api_verb":"POST","api_path":"https://us-1.dailystory.com/api/v1/email/{id}"},"publish_status":0,"post_type":"API","authoruid":"3dde8c16-763a-4a2b-ae0b-1d8c50c62e3d","author":{"authoruid":"3dde8c16-763a-4a2b-ae0b-1d8c50c62e3d"},"featured_image_updating":false,"meta_description":"Create or update an email by setting the email id in the request. Returns a success response with the updated or newly created email id.","display_toc":true,"has_workingcopy":false,"allow_indexing":true,"sort_order":7,"total_views":0,"date_published":"2026-04-20T12:00:00","date_updated":"2026-04-20T14:11:36.16","date_created":"2025-09-29T14:25:18.113"}}}