Skip to content

Update Template Content

Endpoint: PUT https://api.mailjet.com/v1/REST/templates/:id/contents/types/:content_type

You can use this endpoint to update draft template content. When you make updates, the endpoint takes the latest draft version, applies your changes, and creates a new draft version. This enables you to modify various elements of the template, such as the text, HTML, and headers.

Info

If your template content is published, you will can create template content at the following endpoint: POST https://api.mailjet.com/v1/REST/templates/:id/contents.

Once it is created, you can publish it using this endpoint: POST https://api.mailjet.com/v1/REST/templates/:id/contents/publish.

URL Parameters:

id = The ID of the template. content_type = The content status that you wish to update. Accepted value: D (Draft).

Body Parameters

NameTypeDescription
AuthorstringThe name of the person or entity creating the template content.
NamestringThe name of the template content.
LocalestringSpecifies the locale (language and region) for the template content. See the full list of accepted locales.
MJMLPartstring or nullThe MJML code for the template.
HTMLPartstring or nullThe HTML code for the template.
TextPartstring or nullThe plain text version of the template content.
Headersjson stringAdditional headers for the template in JSON format.

Example Request

curl --request PUT \
  --url https://api.mailjet.com//v1/rest/templates/27/contents/types/D \
  --header 'Authorization: Bearer 612d5125131d406081abb9cd2afdc4e3' \
  --header 'Content-Type: application/json' \
  --data '{
      "Locale": "fr_FR",
      "Headers": {
          "Subject": "Welcome to Mailjet",
          "From": "MyCompany <info@mycompany.com>",
          "Reply-To": "",
          "SenderName": "My Company",
          "SenderEmail": "info@mycompany.com"
      },
      "HTMLPart": "<!doctype html><html><body><p>May the delivery force be with you!</p></body></html>",
      "TextPart": "Dear passenger, welcome to Mailjet! May the delivery force be with you!",
      "Name": "New Name",
      "Author": "John Doe"
}'

Status Code 200

Response Data Field Structure

NameTypeDescription
IDintegerThe ID of the content version.
TemplateIDintegerThe ID of the template.
ContentTypestring"D", "P" or "A". Always "D" when created.
Authorstring or nullThe name of the person or entity creating the template content.
NamestringThe name of the template content.
IsLockedbooleanIf this field is true (locked), the template content cannot be edited.
LocalestringSpecifies the locale (language and region) for the template content.
MJMLPartstring or nullThe MJML code for the template.
HTMLPartstring or nullThe HTML code for the template.
TextPartstring or nullThe plain text version of the template content.
Headersjson stringAdditional headers for the template in JSON format.
CreatedAtDate RFC3339The date and time when the template was created.
UpdatedAtDate RFC3339The date and time when the template was last updated.

API Response

{
	"Count": 1,
	"Total": 1,
	"Data": [
		{
			"ID": 23,
			"OrganisationID": 2,
			"UserID": 2,
			"TemplateID": 27,
			"ContentType": "D",
			"Author": "John Doe",
			"Name": "New Name",
			"IsLocked": false,
			"Locale": "fr_FR",
			"Headers": {
				"Subject": "Welcome to Mailjet",
				"From": "MyCompany <info@mycompany.com>",
				"Reply-To": "",
				"SenderName": "My Company",
				"SenderEmail": "info@mycompany.com"
			},
			"HTMLPart": "<!doctype html><html><body><p>May the delivery force be with you!</p></body></html>",
			"TextPart": "Dear passenger, welcome to Mailjet! May the delivery force be with you!",
			"CreatedAt": "2024-05-23T09:54:37.300091Z",
			"UpdatedAt": "2024-05-23T09:54:37.300091Z"
    }
	]
}