Skip to main content
POST
Send Email Message
Use this endpoint to send email through a connected Heymarket inbox. Start a new conversation with targets, or reply in an existing thread with convo_id.
The text field supports HTML. Include raw_text when you want a plain-text fallback for email clients that do not render HTML.

Authorizations

Authorization
string
header
required

Recommended authentication for new integrations. Generate a short-lived JWT from your API Secret ID and API Secret Key, then pass the signed JWT as a bearer token in the Authorization header.

API Secret credentials are available in the Heymarket app under Settings > Integrations > API. The Secret Key is shown only when it is generated, so copy and store it securely before closing the dialog.

Use the following JWT values:

Replace CURRENT_UNIX_TIMESTAMP with the current Unix timestamp in seconds when generating the token.

Sign the JWT with HMAC-SHA256 using this signing secret:

Send the signed JWT as a bearer token:

Tokens expire 5 minutes after the iat timestamp. Generate a new JWT per request, or cache it briefly for less than 5 minutes. Generate JWTs only from trusted server-side code; do not expose the API Secret Key in browser, mobile, or other client-side code.

Body

application/json

Email message json

creator_id
integer
required

Unique identifier for the sender

inbox
integer

Unique identifier for the inbox

text
string

Email message text (HTML supported)

raw_text
string

Plain text version of the email message

local_id
string

Client unique identifier for the message

conv_title
string

Title for new conversation if creating one

targets
string[]

Array of email addresses with 'to:' or 'cc:' prefixes for new conversations. Each array element can contain multiple comma-separated emails

convo_id
integer

Unique identifier required for an existing conversation to send the email to the same thread

Response

Email sent successfully

id
integer

Message ID

convo_id
integer

Conversation ID

queued
boolean

Whether the message was queued

date
string<date-time>

Send date in ISO format

compliance_results
object

Compliance check results