{"Status":true,"Message":"","Response":{"post":{"postuid":"0035db32-ec32-4685-a8e8-55b4ab963cf8","tenantuid":"d8b744fc-2e70-4089-bb80-dd1d08f6c7b2","projectuid":"542e5f51-33cf-401f-aebe-4324ebe36fe4","title":"Send Transactional Email","slug":"reference/send-to-single-contact","html":"\u003Cp\u003ESends a transactional email to a single contact. A transactional email ignores all contact opt out preferences and should only be used for transactional communication.\u003C/p\u003E\u003Ch2 id=\u0022personalize_using_custom_fieldsa_hrefhttpsdevdailystorycomreferencesendtosinglecontactpersonalizeusingcustomfieldsa\u0022\u003EPersonalize using custom fields\u003Ca href=\u0022https://dev.dailystory.com/reference/send-to-single-contact#personalize-using-custom-fields\u0022\u003E\u003C/a\u003E\u003C/h2\u003E\u003Cp\u003EOptionally include a JSON body with properties used to personalize the email.\u003C/p\u003E\u003Cdiv class=\u0022code_wrapper\u0022\u003E\u003Cdiv class=\u0022code\u0022 data-language=\u0022json\u0022\u003E{\r\n  \u0026quot;subject\u0026quot;:\u0026quot;My new email subject\u0026quot;,\t\t\t\t\t\t// optional to set a subject\r\n  \u0026quot;from\u0026quot;:\u0026quot;hello@example.com\u0026quot;,\t\t\t\t\t\t\t\t\t// optional set a from address\r\n  \u0026quot;confirmation_url\u0026quot;:\u0026quot;https://example.com\u0026quot;,\t\t// optional set a profile field\r\n  \u0026quot;confirmation_code\u0026quot;:\u0026quot;confirmation-38474\u0026quot;\t\t// optional set a profile field\r\n}\u003C/div\u003E\u003C/div\u003E\u003Cp\u003EThese fields are then accessible in the email.\u003C/p\u003E\u003Cp\u003EThe following fields are reserved fields:\u003C/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003Esubject\u003C/code\u003E\u0026nbsp;-\u0026nbsp;(required)\u0026nbsp;set an alternate subject for the email.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Efrom\u003C/code\u003E\u0026nbsp;-\u0026nbsp;(required)\u0026nbsp;set an alternate from address for the email.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Ebody\u003C/code\u003E\u0026nbsp;-\u0026nbsp;(required)\u0026nbsp;set the body of the email.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Epreheader\u003C/code\u003E- set an alternate\u0026nbsp;\u003Ca target=\u0022_self\u0022 href=\u0022https://www.dailystory.com/blog/email-preheader-improve-open-rates/\u0022\u003Epreheader\u003C/a\u003E\u0026nbsp;for the email.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Eplaintext\u003C/code\u003E- set an alternate plaintext for the email.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Ecc\u003C/code\u003E\u0026nbsp;-\u0026nbsp;\u003Ca target=\u0022_self\u0022 href=\u0022https://www.dailystory.com/glossary/cc-email/\u0022\u003Ecarbon copy recipients\u003C/a\u003E. Must be in standard email format. Multiple addresses should be separated with a semi-colon.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Ebcc\u003C/code\u003E\u0026nbsp;-\u0026nbsp;\u003Ca target=\u0022_self\u0022 href=\u0022https://www.dailystory.com/glossary/bcc-email/\u0022\u003Eblind carbon copy\u003C/a\u003E\u0026nbsp;recipient. Must be in standard email format. Multiple addresses should be separated with a semi-colon.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Ereply-to\u003C/code\u003E\u0026nbsp;- set the\u0026nbsp;\u003Ca target=\u0022_self\u0022 href=\u0022https://www.dailystory.com/glossary/reply-to-header/\u0022\u003Ereply-to header\u003C/a\u003E\u0026nbsp;of the email. Must be in standard email format. Only a single address is allowed.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Eattachments\u003C/code\u003E\u0026nbsp;- include one or more attachments.\u003C/li\u003E\u003C/ul\u003E\u003Ch3 id=\u0022personalization_examplea_hrefhttpsdevdailystorycomreferencesendtosinglecontactpersonalizationexamplea\u0022\u003EPersonalization example\u003Ca href=\u0022https://dev.dailystory.com/reference/send-to-single-contact#personalization-example\u0022\u003E\u003C/a\u003E\u003C/h3\u003E\u003Cp\u003EHello, your confirmation code is\u003Ccode\u003E{{profile.confirmation_code}}\u003C/code\u003E.\u003C/p\u003E\u003Cp\u003EIt\u0027s also possible to send a subject or from with a personalization token, for example:\u003C/p\u003E\u003Cdiv class=\u0022code_wrapper\u0022\u003E\u003Cdiv class=\u0022code\u0022 data-language=\u0022json\u0022\u003E{\r\n  \u0026quot;subject\u0026quot;:\u0026quot;Your id is {{@profile.custom_id}}\u0026quot;\r\n}\u003C/div\u003E\u003C/div\u003E\u003Cp\u003EWhen the email is sent if the contact has a personalization field of \u0022\u003Ccode\u003Ecustom_id\u003C/code\u003E\u0022 it will automatically be inserted.\u003C/p\u003E\u003Ch2 id=\u0022including_attachmentsa_hrefhttpsdevdailystorycomreferencesendtosinglecontactincludingattachmentsa\u0022\u003EIncluding Attachments\u003Ca href=\u0022https://dev.dailystory.com/reference/send-to-single-contact#including-attachments\u0022\u003E\u003C/a\u003E\u003C/h2\u003E\u003Cp\u003EDailyStory\u0026nbsp;\u003Ca target=\u0022_self\u0022 href=\u0022https://docs.dailystory.com/article/g5d6kyabxb-create-an-email#email_attachment\u0022\u003Esupports email attachments\u003C/a\u003E. However, we generally discourage the use and recommend using URLs to resources instead. To enable email attachments for your account, please contact our support team.\u003C/p\u003E\u003Cp\u003EWhile attachments for marketing emails are disabled by default. Attachments for transactional emails using the transactional email API are supported.\u003C/p\u003E\u003Ch3 id=\u0022adding_attachments_to_a_transactional_emaila_hrefhttpsdevdailystorycomreferencesendtosinglecontactaddingattachmentstoatransactionalemaila\u0022\u003EAdding attachments to a transactional email\u003Ca href=\u0022https://dev.dailystory.com/reference/send-to-single-contact#adding-attachments-to-a-transactional-email\u0022\u003E\u003C/a\u003E\u003C/h3\u003E\u003Cp\u003EAttachments are sent as part of the JSON message object using the field\u0026nbsp;\u003Ccode\u003Eattachments\u003C/code\u003E. However, for various reasons there are multiple steps to properly serialize the attachment information.\u003C/p\u003E\u003Cp\u003EFor the purpose of this example we\u0027ll use a file called helloworld.txt with the value \u0022Hello world!\u0022.\u003C/p\u003E\u003Cp\u003EConvert file to base 64 encoded byte array\u003C/p\u003E\u003Cp\u003EIn your code, first convert your file content in to a byte array. Then encode it as a base 64 encoded string. For example:\u003C/p\u003E\u003Cp\u003E\u003Ccode\u003ESABlAGwAbABvACAAdwBvAHIAbABkACEA\u003C/code\u003E\u003C/p\u003E\u003Cp\u003EIs the base 64 encoded byte array for the contents of the helloworld.txt file.\u003C/p\u003E\u003Cp\u003EBuild a JSON array of key/value pairs\u003C/p\u003E\u003Cp\u003ENext, create list of JSON objects of key/value pairs where the key in the name of the file and the value is the base 64 encoded byte array:\u003C/p\u003E\u003Cp\u003E\u003Ccode\u003E{\u0022helloworld.txt\u0022:\u0022SABlAGwAbABvACAAdwBvAHIAbABkACEA\u0022}\u003C/code\u003E\u003C/p\u003E\u003Cp\u003EFor example, to include a second copy of this file:\u003C/p\u003E\u003Cp\u003E\u003Ccode\u003E{\u0022helloworld.txt\u0022:\u0022SABlAGwAbABvACAAdwBvAHIAbABkACEA\u0022},{\u0022world.txt\u0022:\u0022SABlAGwAbABvACAAdwBvAHIAbABkACEA\u0022}\u003C/code\u003E\u003C/p\u003E\u003Cp\u003EBase 64 encode the string of JSON\u003C/p\u003E\u003Cp\u003EFor example, below is the base 64 encoded version of the helloworld.txt single attachment example:\u003C/p\u003E\u003Cp\u003E\u003Ccode\u003EeyJoZWxsb3dvcmxkLnR4dCI6IlNBQmxBR3dBYkFCdkFDQUFkd0J2QUhJQWJBQmtBQ0VBIn0=\u003C/code\u003E\u003C/p\u003E\u003Cp\u003EFinally send the email\u003C/p\u003E\u003Cp\u003EA possible email payload for the API could look like:\u003C/p\u003E\u003Cdiv class=\u0022code_wrapper\u0022\u003E\u003Cdiv class=\u0022code\u0022 data-language=\u0022json\u0022\u003E{\r\n    \u0026quot;from\u0026quot;:\u0026quot;hello@example.com\u0026quot;,\r\n    \u0026quot;subject\u0026quot;:\u0026quot;Example email with an attachment\u0026quot;,\r\n    \u0026quot;body\u0026quot;:\u0026quot;The body of my email. See the attachment below.\u0026quot;,\r\n    \u0026quot;attachments\u0026quot;: \u0026quot;eyJoZWxsb3dvcmxkLnR4dCI6IlNBQmxBR3dBYkFCdkFDQUFkd0J2QUhJQWJBQmtBQ0VBIn0K\u0026quot;\r\n}\u003C/div\u003E\u003C/div\u003E\u003Cdiv class=\u0022api_header\u0022\u003EQuery 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\u003Edsid\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe DailyStory id of the contact to send to.\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003EemEmail address of the contact to send to.ail\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003C/section\u003E\u003C/section\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\u003Esubject\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003Cspan class=\u0022p_isrequired\u0022\u003Erequired\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe subject 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\u003Ebody\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003Cspan class=\u0022p_isrequired\u0022\u003Erequired\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe 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\u003Efrom\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003Cspan class=\u0022p_isrequired\u0022\u003Erequired\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe from address 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\u003Epreheader\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EThe preview of preheader 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\u003EA plaintext version 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\u003Ecc\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003ECarbon copied email addresses\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Ebcc\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EBlind carbon copy email addresses\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Ereply-to\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003ESend replies to a different email address\u003C/div\u003E\u003C/section\u003E\u003Csection class=\u0022api_param\u0022\u003E\u003Cdiv class=\u0022api_param_header\u0022\u003E\u003Cspan class=\u0022p_name\u0022\u003Eattachments\u003C/span\u003E\u003Cspan class=\u0022p_type\u0022\u003Estring\u003C/span\u003E\u003C/div\u003E\u003Cdiv\u003EAny attachments sent with the email.\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}\u003C/div\u003E\u003C/div\u003E\u003Cp\u003E\u003C/p\u003E","json_meta":{"api_verb":"POST","api_path":""},"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":"Send transactional emails to a single contact, personalize with custom fields, and include attachments using the DailyStory API. Includes examples.","display_toc":true,"has_workingcopy":false,"allow_indexing":true,"sort_order":6,"total_views":0,"date_published":"2025-09-29T14:24:44.417","date_updated":"2025-12-17T21:32:49.78","date_created":"2025-09-29T14:19:43.327"}}}