There's a new version of the HubSpot API

As of November 30, 2022, HubSpot API Keys are being deprecated and are no longer supported. Continued use of HubSpot API Keys is a security risk to your account and data. Your API Keys could be deactivated at any time after Nov. 30th, and we recommend that you migrate to Private Apps as soon as possible so you do not lose business-critical functionality.

Create SMTP API Tokens

Last updated January 12, 2023

POST /email/public/v1/smtpapi/tokens

Method Details

HTTP Methods:


Request Format:


Response Format:


Requires Authentication?


Rate Limited?


Required Scope


This endpoint is used to create an SMTP API Token. An API token provides both a username and password which can then be used to send email through the HubSpot SMTP API:

  • SMTP Hostname:
  • SMTP Port: 587 (for STARTTLS) or 465 (for TLS)
  • SMTP User Name: provided in the userName field
  • SMTP Password: provided in the password field

Once an SMTP API Token is created, it can be used to send emails and track events throughout the HubSpot product. Here are a few ways to use a token once created:

  • In the Email Campaign Data API you can use the emailCampaignId and appId fields
  • In the Email Event API you can get specific details about events that occurred for the email.
  • In Contacts dynamic list definitions, under "Email Event" you can search for a campaign name to dynamically update a contacts list based on events sent with the token.

Note that use of API requires the Transactional Email add-on.

Required Parameters How to use Description
OAuth Access Token Authorization: Bearer {token}
Used in the request headers

Used to authenticate the request. Please see this page for more details about authentication.
NOTE: You must use an OAuth access token to create an event. API keys are not supported.

createdBy Used in the request JSON The email address of the user creating the token
campaignName Used in the request JSON A name for the campaign tied to the SMTP API token. Currently used in the List segmentation UI and the SMTP Token API.

Example CURL Request

curl -XPOST \ -H "Content-Type: application/json" \ -d '{"createdBy":"","campaignName":"test Transactional Email"}' \

Example JSON Response

  "userName": "",
  "password": "3432fff8eljl1249fjjasdfnv3",
  "portalId": 62515,
  "emailCampaignId": 14862038,
  "createdAt": 1415660606232,
  "deleted": false,
  "createdBy": "",
  "appId": 22709,
  "campaignName": "test Transactional Email"


After creating the token above, you can use SMTP to send an email:
  • SMTP Hostname:
  • SMTP Port: 587 (for STARTTLS) or 465 for TLS
  • SMTP User Name:
  • SMTP Password: 3432fff8eljl1249fjjasdfnv3

Email Campaign Data

After you send email, use the Email Campaign Data API to retrieve data for the specific token:

Email Events Data

After sending email, use the Email Events API to get event data for the specific campaign: