{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/email-api/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Send API v3 to v3.1","siteUrl":"https://dev.mailjet.com/","projectTitle":"Mailjet Developer Documentation","description":"Migrate from Mailjet Send API v3 to v3.1: renamed properties, Vars to Variables, Messages array encapsulation, and JSON payload size limits.","image":"https://dev.mailjet.com/og-image.png","lang":"en-US","keywords":["Mailjet API","Email API","Content API","SMTP Relay","transactional email","email delivery","Send API","email templates","developer documentation"],"meta":[{"name":"og:type","content":"website"},{"name":"og:site_name","content":"Mailjet Developer Documentation"},{"name":"twitter:card","content":"summary_large_image"},{"name":"robots","content":"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"},{"name":"googlebot","content":"index, follow, max-snippet:-1, max-image-preview:large"}],"jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://dev.mailjet.com/#organization","name":"Mailjet","alternateName":"Sinch Mailjet","url":"https://www.mailjet.com","logo":"https://assets.mailjet.com/lib/images/mailjetLogo/mj_logo_with_text_color.png","parentOrganization":{"@type":"Organization","name":"Sinch","url":"https://www.sinch.com"}},{"@type":"WebSite","@id":"https://dev.mailjet.com/#website","name":"Mailjet Developer Documentation","description":"Official developer documentation for the Mailjet Email API, Content API and SMTP Relay.","url":"https://dev.mailjet.com/","inLanguage":"en-US","publisher":{"@id":"https://dev.mailjet.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://dev.mailjet.com/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]},"llmstxt":{"hide":false,"title":"Mailjet Developer Documentation","description":"Developer documentation for the Mailjet Email API, Content API and SMTP Relay - guides, API references and code samples for sending, templating and tracking email at scale.","details":{"content":"Mailjet (part of Sinch) provides APIs for sending and managing email.\n\nThis documentation covers four main areas:\n\n- **Email API** - the Send API (v3 and v3.1) for transactional and marketing email,\n  plus contact management, segmentation, campaigns, statistics, webhooks, the Parse API\n  and the Mailjet Templating Language.\n- **Content API** - programmatic management of email templates, template contents,\n  images, labels and authentication tokens (v1).\n- **SMTP Relay** - sending through Mailjet's SMTP servers, including custom headers.\n- **API Reference** - the complete, generated reference for every endpoint, built directly\n  from the OpenAPI specifications.\n\nBase URL for all REST APIs: `https://api.mailjet.com`.\nAuthentication uses HTTP Basic auth with an API key and secret key.\n\n## Machine-readable entry points\n\nPrefer these when you need the API surface in as few requests as possible:\n\n- `/openapi/openapi-mailjet.md` - the **complete** Email API reference (every endpoint,\n  grouped by resource) as a single Markdown document.\n- `/openapi/openapi-passport.md` - the **complete** Content API reference as a single\n  Markdown document.\n- `/_bundle/openapi/openapi-mailjet.yaml` - the raw, fully bundled OpenAPI 3 description\n  of the Email API.\n- `/_bundle/openapi/openapi-passport.yaml` - the raw, fully bundled OpenAPI 3 description\n  of the Content API.\n- `/sitemap.xml` - every indexable URL on this site.\n\nEvery page on this site is also available as clean Markdown by appending `.md` to its URL."},"sections":[{"title":"Email API","description":"Sending, contacts, campaigns, statistics, webhooks and templating.","includeFiles":["docs/email-api/**/*.md"],"excludeFiles":[]},{"title":"Content API","description":"Manage templates, template contents, images, labels and tokens.","includeFiles":["docs/content-api/**/*.md","docs/content-api.md"],"excludeFiles":[]},{"title":"SMTP Relay","description":"Send email through Mailjet's SMTP servers.","includeFiles":["docs/smtp-relay/**/*.md"],"excludeFiles":[]},{"title":"API Reference","description":"Complete generated reference for every Mailjet API endpoint.","includeFiles":["openapi/openapi-mailjet.yaml","openapi/openapi-passport.yaml","docs/api-reference/**/*.md"],"excludeFiles":[]},{"title":"Migrating from Mandrill","description":"Guides for switching from Mandrill to Mailjet.","includeFiles":["docs/mandrill/**/*.md"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following adheres to Send API v3.0"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"send-api-v3-to-v31","__idx":0},"children":["Send API v3 to v3.1"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send API v3.1 is not backward compatible with v3. Listed below are all the changes in implementation that should be carefully taken into account when migrating from v3 to v3.1."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"name-and-format-of-message-property-changes","__idx":1},"children":["Name and format of message property changes"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"v3"},"children":["v3"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"v3.1"},"children":["v3.1"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Comment"},"children":["Comment"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["FromEmail"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["From['Email']"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["FromName"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["From['Name']"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sender"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sender"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change of format : used to be boolean. Now, it is an object, containing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Email"]}," and Name ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Recipients"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["n/a"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["If you wish to send a message to many recipients, you need to create multiple instances of messages in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Messages"]}," property."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["To, Cc, Bcc"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["To, Cc, Bcc"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The SMTP style description of the recipients is replaced by a collection of recipients objects (with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Email"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Name"]}," property), nested in array."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Subject"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Subject"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text-part"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text-part"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Html-part"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HTMLPart"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-TemplateID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TemplateID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When using Send API v3, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Mj-TemplateID"]}," accepts 2 formats. If an integer is provided, we will search for the ID of the template. If a string is provided, we will search for the Name of the template. When using Send API v3.1, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TemplateID"]}," only accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integer"]}," values, i.e. the ID of the template."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-TemplateLanguage"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TemplateLanguage"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["MJ-TemplateErrorReporting"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TemplateErrorReporting"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change of the property type. The destination of the error log should not be provided as string, but as object instead. Correct format: {",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Email"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Name"]},"}"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["MJ-TemplateErrorDeliver"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TemplateErrorDeliver"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change of the property type. It used to accept deliver or 0 as values. Now, it becomes a boolean property, which accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Attachments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Attachments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Content-type"]}," becomes ContentType, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]}," becomes Base64Content, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]}," becomes Base64Content"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Inline_attachments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["InlinedAttachments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Content-type"]}," becomes ContentType, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]}," becomes Base64Content, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]}," becomes Base64Content"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-prio"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Priority"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-campaign"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["CustomCampaign"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-deduplicatecampaign"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["DeduplicateCampaign"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The value is now a boolean."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-trackopen"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TrackOpens"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change of format. It now accepts string, which is one of the following 3 values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_default"]}," , ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["disabled"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-trackclick"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TrackClicks"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change of format. It now accepts string, which is one of the following 3 values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_default"]}," , ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["disabled"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-CustomID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["CustomID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mj-EventPayLoad"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EventPayload"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Headers"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Headers"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["If you were using Headers to specify a Reply-To address, you should now use the ReplyTo property. No other changes."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Headers['Reply-to']"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ReplyTo"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["We added a property ReplyTo to allow you to specify more easily the Reply-To address. In V3, you would have had to use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Headers"]}," property to specify a Reply-To address. This property is a JSON object (with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Email"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Name"]}," property)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vars"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Variables"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"message-encapsulation","__idx":2},"children":["Message encapsulation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send API v3.1 allows only to send messages collection (bulk) no single message like v3 allowed. The message(s) will be encapsulated in a single property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Messages"]}," containing a list of messages."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"for-a-single-message-v3-json-payload","__idx":3},"children":["For a single message, v3 JSON payload:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"api-response","__idx":4},"children":["API Response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"FromEmail\": \"pilot@mailjet.com\",\n  \"FromName\": \"Mailjet Pilot\",\n  \"Subject\": \"Your email flight plan!\",\n  \"Text-part\": \"Dear passenger, welcome to Mailjet! May the delivery force be with you!\",\n  \"Html-part\": \"<h3>Dear passenger, welcome to <a href=\\\"https://www.mailjet.com/\\\">Mailjet</a>!<br />May the delivery force be with you!\",\n  \"Recipients\": [{ \"Email\": \"passenger@mailjet.com\" }]\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"is-now-in-v31","__idx":5},"children":["is now in v3.1:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"api-response-1","__idx":6},"children":["API Response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"Messages\": [\n    {\n      \"From\": {\n        \"Email\": \"pilot@mailjet.com\",\n        \"Name\": \"Mailjet Pilot\"\n      },\n      \"To\": [\n        {\n          \"Email\": \"passenger@mailjet.com\",\n          \"Name\": \"passenger\"\n        }\n      ],\n      \"Subject\": \"Your email flight plan!\",\n      \"TextPart\": \"Dear passenger 1, welcome to Mailjet! May the delivery force be with you!\",\n      \"HTMLPart\": \"<h3>Dear passenger 1, welcome to <a href=\\\"https://www.mailjet.com/\\\">Mailjet</a>!<br />May the delivery force be with you!\"\n    }\n  ]\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"deprecation-of-the-recipients-message-property","__idx":7},"children":["Deprecation of the Recipients message property"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Recipients"]}," property of a message object is not available anymore. To achieve the same behavior, multiple recipients receiving independently the same message, you will need to create several Messages objects with a \"To\" property."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"for-a-single-message-v3-json-payload-1","__idx":8},"children":["For a single message, v3 JSON payload"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"api-response-2","__idx":9},"children":["API Response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"FromEmail\": \"pilot@mailjet.com\",\n  \"FromName\": \"Mailjet Pilot\",\n  \"Subject\": \"Your email flight plan!\",\n  \"Text-part\": \"Dear passenger, welcome to Mailjet! May the delivery force be with you!\",\n  \"Html-part\": \"<h3>Dear passenger, welcome to <a href=\\\"https://www.mailjet.com/\\\">Mailjet</a>!<br />May the delivery force be with you!\",\n  \"Recipients\": [\n    { \"Email\": \"passenger1@mailjet.com\" },\n    { \"Email\": \"passenger2@mailjet.com\" }\n  ]\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"should-now-be-in-v31","__idx":10},"children":["should now be in v3.1:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"api-response-3","__idx":11},"children":["API Response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"Messages\": [\n    {\n      \"From\": {\n        \"Email\": \"pilot@mailjet.com\",\n        \"Name\": \"Mailjet Pilot\"\n      },\n      \"To\": [\n        {\n          \"Email\": \"passenger1@mailjet.com\",\n          \"Name\": \"passenger1\"\n        }\n      ],\n      \"Subject\": \"Your email flight plan!\",\n      \"TextPart\": \"Dear passenger 1, welcome to Mailjet! May the delivery force be with you!\",\n      \"HTMLPart\": \"<h3>Dear passenger 1, welcome to <a href=\\\"https://www.mailjet.com/\\\">Mailjet</a>!<br />May the delivery force be with you!\"\n    },\n    {\n      \"From\": {\n        \"Email\": \"pilot@mailjet.com\",\n        \"Name\": \"Mailjet Pilot\"\n      },\n      \"To\": [\n        {\n          \"Email\": \"passenger2@mailjet.com\",\n          \"Name\": \"passenger2\"\n        }\n      ],\n      \"Subject\": \"Your email flight plan!\",\n      \"TextPart\": \"Dear passenger 1, welcome to Mailjet! May the delivery force be with you!\",\n      \"HTMLPart\": \"<h3>Dear passenger 1, welcome to <a href=\\\"https://www.mailjet.com/\\\">Mailjet</a>!<br />May the delivery force be with you!\"\n    }\n  ]\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"limitation-size-of-json-payload","__idx":12},"children":["Limitation size of JSON payload"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The number of message objects authorized in the payload for Send API v3 is 100, also limiting the number of recipients (\"To\") authorized on one single Send API call. For Send Api v3.1 this limit is set to 50, as specified in its Message JSON Properties section."]}]},"headings":[{"value":"Send API v3 to v3.1","id":"send-api-v3-to-v31","depth":1},{"value":"Name and format of message property changes","id":"name-and-format-of-message-property-changes","depth":2},{"value":"Message encapsulation","id":"message-encapsulation","depth":2},{"value":"For a single message, v3 JSON payload:","id":"for-a-single-message-v3-json-payload","depth":3},{"value":"API Response","id":"api-response","depth":4},{"value":"is now in v3.1:","id":"is-now-in-v31","depth":3},{"value":"API Response","id":"api-response-1","depth":4},{"value":"Deprecation of the Recipients message property","id":"deprecation-of-the-recipients-message-property","depth":2},{"value":"For a single message, v3 JSON payload","id":"for-a-single-message-v3-json-payload-1","depth":3},{"value":"API Response","id":"api-response-2","depth":4},{"value":"should now be in v3.1:","id":"should-now-be-in-v31","depth":3},{"value":"API Response","id":"api-response-3","depth":3},{"value":"Limitation size of JSON payload","id":"limitation-size-of-json-payload","depth":2}],"frontmatter":{"title":"Mailjet Send API v3.0","seo":{"description":"Migrate from Mailjet Send API v3 to v3.1: renamed properties, Vars to Variables, Messages array encapsulation, and JSON payload size limits.","title":"Send API v3 to v3.1"}},"lastModified":"2026-08-26T10:53:57.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/email-api/send-api-v3/send-api-v3-to-31","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}