Overview

This request allows you to update an transactional template by specifying details such as the name subject line, HTML content, and enabling engagement reporting. It makes use of a PUT request, and uses the same request body as creating a new transactional template.

Endpoint

Method URL Parameters
PUT https://api.everlytic.net/transactional/email/v1/templates/[Template ID] [Template ID] – The ID of the template to be updated

Request Body

{
  "name": "string",
  "subject": "string",
  "description": "string",
  "from_email": "string",
  "from_name": "string",
  "reply_email": "string",
  "content_html": "string",
  "content_text": "string",
  "track_opens": boolean,
  "track_links": boolean,
  "group_by_name": "string"
}
Property Description Data type Parameters Required
name The name of the template string Yes
subject The subject line text that will appear in recipients’ inboxes. string Yes
description A short description of the template string No
from_email The email address that will appear as the sender in recipients’ inboxes string Must be a verified domain Yes
from_name The name that will appear as the sender in recipients’ inboxes string No
reply_email The email address that replies to emails using this template will go to. string Yes
content_html The HTML body content of the template string Yes
content_text The text body content of the template string No
track_opens Setting to enable engagement reporting when contacts’ open emails using this template boolean
  • true
  • false
No
track_links Setting to enable engagement reporting when contacts’ click on links in emails using this template boolean
  • true
  • false
No
group_by_name Emails sent using this template will be grouped under this name, instead of the default behaviour of grouping by month. string No

Example Request

curl --location --request PUT 'https://api.everlytic.net/transactional/email/v1/templates/cb0eff51-0248-45a9-83f7-8d37480e7ce9' \
--data-raw '{
    "name": "Example template",
    "subject": "Hello!",
    "description": "Test template",
    "from_email": "joe@bloggs.com",
    "from_name": "Test",
    "reply_email": "joe@bloggs.com",
    "track_links": true,
    "track_opens": true,
    "group_by_name": "Good templates",
    "content_html": "Hello world!",
    "content_text": "Hello world!"
}'

Response

Status codes

Status code Explanation
200 OK Template was updated successfully
400 Bad Request The request body was improperly formatted
401 Unauthorized The provided authorization credentials are incorrect
403 Forbidden This user does not have access to Transactional Emails
412 Precondition Failed One or more of the properties in the request body were invalid

Properties

Properties of responses with status 200

Property Sub-properties Description Data type Parameters
template id The ID that will be used to identify the webhook in future requests string
name The template’s name string
subject The subject line text on the template string
description A short description of the template string
from_email The email address that will be shown as the sender in the contact’s inbox string Verified domain
from_name The name assigned that will appear as the sender in the contact’s inbox string
reply_email The email address that will receives replies to emails using this template string
track_links This determines whether engagement on links will be recorded on emails using this template boolean
  • true
  • false
group_by_name Emails sent using this template will be grouped under this name, instead of the default behaviour of grouping by month. string
content_html The HTML body content of the template string
content_text The text body content of the template string
status The current publication status of the template enum (string)
  • published
  • draft
created_timestamp The initial date and time that the template was created date-time ISO 8601 date-time string
updated_timestamp The latest date and time that the template was updated date-time ISO 8601 date-time string

Properties of responses with 4XX status

Property Description Data type Expected parameters
code The HTTP response status code integer
  • 400
  • 401
  • 403
  • 412
message The reason for the failure string Valid string
error Array containing errors field JSON
  • errors
errors Array containing the failure details JSON
  • domain
  • reason
  • message
  • locationType
  • location
domain The classification of the type of error string
  • global
  • usageLimit
  • NoQuota
reason Keyword used to describe the error string
  • invalid
  • invalidParameter
  • UnverifiedDomain
  • required
  • Attachment
  • Duplicate
  • CustomHeaders
  • NoQuota
  • Suppressed
  • RequestLimit
  • ForbiddenAccess
message Text describing the reason for the failure string Valid string
locationType The location where the failure occurred string
  • headers
  • request
  • body
location The type of validation that failed string
  • authorization
  • sendValidation
  • webhookValidation
  • suppressionValidation
  • templateValidation
  • bouncesValidation
  • trackedAttachmentsGroup
  • trackedAttachmentsAsset
  • default

Example responses

Successful updated a template [200 OK]

{
    "template": {
        "id": "f4e2f274-4853-463a-9053-514121bfc837",
        "name": "My Own Template",
        "subject": "Test Subject",
        "description": "Test Description",
        "from_email": "john@business.com",
        "from_name": "Test Message",
        "reply_email": "john@business.com",
        "track_links": true,
        "track_opens": true,
        "group_by_name": "",
        "content_html": "Test Template",
        "content_text": "",
        "status": "published",
        "created_timestamp": "2023-08-18T10:03:15.000Z",
        "updated_timestamp": "2023-08-18T10:03:15.000Z"
    }
}

Invalid from email format [412 Precondition Failed]

{
    "code": 412,
    "message": "The from email format is invalid.",
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "invalidParameter",
                "message": "The from email format is invalid.",
                "locationType": "request",
                "location": "templateValidation"
            }
        ]
    }
}

Invalid/Missing authorization credentials [401 Unauthorized]

{
    "code": 401,
    "message": "Login Required",
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "required",
                "message": "Login Required",
                "locationType": "request",
                "location": "authorization"
            }
        ]
    }
}