Last modified: August 28, 2025
You can use the Marketing Emails API to programmatically create, update, and get details about marketing emails. You can also query details about the post-send statistics of a specific email or set of emails. These statistics should match what you can access in the app on the Performance page of a sent email and will be returned under the stats object in your JSON response. The Marketing Email API cannot be used to create or retrieve data for sales emails that are created and sent via the contact record. To get details for sales emails, use the Engagements API.

Please note:

  • To programmatically send transactional emails to contacts, use the Single-send API.
  • To use the /publish and /unpublish endpoints, you must have a Marketing Hub Enterprise account or the transactional email add-on.
  • Starting on October 31st, 2024, as part of the Marketing Email API migration to use ILS lists, the contactLists parameter is no longer supported. Instead, you should provide the ILS list IDs using the contactIlsLists parameter when creating an email. Learn more on the HubSpot Developer Changelog.

Create a marketing email

To create an email, make a POST request to /marketing/v3/emails and include the following fields in the body of your request:
// Example request body for POST request to /marketing/v3/emails
{
  "name": "A new marketing email",
  "subject": "Behold the latest version of our newsletter!",
  "templatePath": "@hubspot/email/dnd/welcome.html"
}

Please note:

This endpoint supports a businessUnitId field, which you should include in the request body if you purchased the Brands add-on. Be aware that business units is the former name for brands, but this change does not impact the API. The field name you specify in the request body should still be businessUnitId. You can get a list of brands in your account using the brands API.

Retrieve a marketing email

You can retrieve existing emails in your account individually or in batches:
  • To retrieve an individual email, make a GET request to /marketing/v3/emails/{emailId}
  • To retrieve a list of all emails, make a GET request to /marketing/v3/emails, and include any filters as query parameters in your request (e.g., add createdAfter and a date in ISO8601 format to get all emails created after a specific date).