curl --request POST \
--url https://api.hubapi.com/marketing/transactional/2026-03/single-email/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contactProperties": {},
"customProperties": {},
"emailId": 123,
"message": {
"bcc": [
"<string>"
],
"cc": [
"<string>"
],
"replyTo": [
"<string>"
],
"from": "<string>",
"sendId": "<string>",
"to": "<string>"
}
}
'{
"status": "CANCELED",
"statusId": "<string>",
"completedAt": "2023-11-07T05:31:56Z",
"eventId": {
"created": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"message": "<string>",
"requestedAt": "2023-11-07T05:31:56Z",
"sendResult": "ADDRESS_LIST_BOMBED",
"startedAt": "2023-11-07T05:31:56Z"
}curl --request POST \
--url https://api.hubapi.com/marketing/transactional/2026-03/single-email/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contactProperties": {},
"customProperties": {},
"emailId": 123,
"message": {
"bcc": [
"<string>"
],
"cc": [
"<string>"
],
"replyTo": [
"<string>"
],
"from": "<string>",
"sendId": "<string>",
"to": "<string>"
}
}
'{
"status": "CANCELED",
"statusId": "<string>",
"completedAt": "2023-11-07T05:31:56Z",
"eventId": {
"created": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"message": "<string>",
"requestedAt": "2023-11-07T05:31:56Z",
"sendResult": "ADDRESS_LIST_BOMBED",
"startedAt": "2023-11-07T05:31:56Z"
}Supported products
Required Scopes
The access token received from the authorization server in the OAuth 2.0 flow.
The contactProperties field is a map of contact property values. Each contact property value contains a name and value property. Each property will get set on the contact record and will be visible in the template under {{ contact.NAME }}. Use these properties when you want to set a contact property while you’re sending the email. For example, when sending a reciept you may want to set a last_paid_date property, as the sending of the receipt will have information about the last payment.
Show child attributes
The customProperties field is a map of property values. Each property value contains a name and value property. Each property will be visible in the template under {{ custom.NAME }}. Note: Custom properties do not currently support arrays. To provide a listing in an email, one workaround is to build an HTML list (either with tables or ul) and specify it as a custom property.
Show child attributes
The content ID for the transactional email, which can be found in email tool UI.
Show child attributes
successful operation
Status of the send request.
CANCELED, COMPLETE, PENDING, PROCESSING Identifier used to query the status of the send.
Time when the send was completed.
Show child attributes
Time when the send was requested.
Result of the send.
ADDRESS_LIST_BOMBED, ADDRESS_ONLY_ACCEPTED_ON_PROD, ADDRESS_OPTED_OUT, ATTACHMENT_DOWNLOAD_QUEUE_FULL, BLOCKED_ADDRESS, BLOCKED_DOMAIN, BRAND_RECIPIENT_FATIGUE_SUPPRESSED, CAMPAIGN_CANCELLED, CANCELLED_ABUSE, CORRUPT_INPUT, EMAIL_DISABLED, EMAIL_UNCONFIRMED, GDPR_DOI_ENABLED, GRAYMAIL_SUPPRESSED, HUBL_LIMIT_EXCEEDED, IDEMPOTENT_FAIL, IDEMPOTENT_IGNORE, INVALID_APP_ID_ATTRIBUTION, INVALID_FROM_ADDRESS, INVALID_TO_ADDRESS, LOW_CONTACT_QUALITY_SCORE, MISSING_CONTENT, MISSING_REQUIRED_PARAMETER, MISSING_TEMPLATE_PROPERTIES, MTA_IGNORE, NON_MARKETABLE_CONTACT, PORTAL_AUTHENTICATION_FAILURE, PORTAL_EXPIRED, PORTAL_MISSING_MARKETING_SCOPE, PORTAL_NOT_AUTHORIZED_FOR_APPLICATION, PORTAL_OVER_LIMIT, PORTAL_SUSPENDED, PREVIOUS_SPAM, PREVIOUSLY_BOUNCED, PREVIOUSLY_UNSUBSCRIBED_BRAND, PREVIOUSLY_UNSUBSCRIBED_BUSINESS_UNIT, PREVIOUSLY_UNSUBSCRIBED_MESSAGE, PREVIOUSLY_UNSUBSCRIBED_PORTAL, QUARANTINED_ADDRESS, QUEUED, RECIPIENT_FATIGUE_SUPPRESSED, SENT, TEMPLATE_RENDER_EXCEPTION, THROTTLED, TOO_MANY_RECIPIENTS, UBB_GOVERNANCE_MISSING, UNCONFIGURED_SENDING_DOMAIN, UNDELIVERABLE, VALIDATION_FAILED Time when the send began processing.
Was this page helpful?