transactional
POST
https://hermeticor.com /v1/transactional/send Transactional send to raw email/phone recipients: inline or template content, per-recipient vars, tags, metadata, attachments. Suppression still applies; idempotent on the key (per recipient). Merge tags (Liquid, strict): `{{ vars.<key> }}` reads the call-level `vars` merged with the recipient's own `vars`; `{{ vars.recipient.email }}`, `{{ vars.recipient.phone }}` and `{{ vars.recipient.name }}` are the recipient as given; `{{ profile.<field> }}` is the contact (firstName, lastName, emailPrimary, phonePrimary, timezone, locale, country, city, region, or a custom attribute). Bare names such as `{{ name }}` are not defined (except with mergeLanguage handlebars). A `vars.*` tag the send does not supply comes back per recipient as `invalid` before anything is queued. Transactional stream: this route still reaches people who unsubscribed from marketing, so it refuses (400) marketing content: a template in a preference topic or used by a campaign, and copy with `{{ unsubscribe_url }}` (or `*|UNSUB|*`). Send those through /v1/messages/send with purpose marketing.
Request body
application/json
channelstringtoToItem[]requiredShow child parameters
profileIdstringexternalIdstringemailstringphonestringnamestringvarsobjectconsentstringtemplateIdstringversionIdstringsubjectstringhtmlstringtextstringvarsobjectfromobjectShow child parameters
emailstringrequirednamestringreplyTostringinReplyToIdstringthrottleobjectShow child parameters
keystringrequiredwindowMinutesintegerrequiredheadersobjectattachmentsAttachmentsItem[]Show child parameters
filenamestringrequiredcontentTypestringrequiredcontentBase64stringrequiredcidstringccstring[]bccstring[]templateContentobject[]Show child parameters
namestringrequiredcontentstringrequiredattachmentUrlsobject[]Show child parameters
urlstringrequiredfilenamestringcidstringmessageVersionsobject[]Show child parameters
toToItem[]requiredShow child parameters
profileIdstringexternalIdstringemailstringphonestringnamestringvarsobjectconsentstringsubjectstringtemplateIdstringreplyTostringvarsobjectinlineCssbooleanurlStripQsbooleanpreserveRecipientsbooleanviewContentLinkbooleangoogleAnalyticsDomainsstring[]googleAnalyticsCampaignstringmergeLanguagestringrecipientMetadataobject[]Show child parameters
rcptstringrequiredvaluesobjectrequiredimportantbooleansubaccountstringtrackingDomainstringsigningDomainstringreturnPathDomainstringtagsstring[]metadataobjecttrackingobjectShow child parameters
opensbooleanclicksbooleanscheduledForstringrouteobjectShow child parameters
connectionIdstringpoolIdstringroutePolicyIdstringidempotencyKeystringbatchIdstring{
"channel": "email",
"to": [
{
"profileId": "string",
"externalId": "string",
"email": "string",
"phone": "string",
"name": "string",
"vars": {},
"consent": "record_optin"
}
],
"templateId": "string",
"versionId": "string",
"subject": "string",
"html": "string",
"text": "string",
"vars": {},
"from": {
"email": "string",
"name": "string"
},
"replyTo": "string",
"inReplyToId": "string",
"throttle": {
"key": "string",
"windowMinutes": 0
},
"headers": {},
"attachments": [
{
"filename": "string",
"contentType": "string",
"contentBase64": "string",
"cid": "string"
}
],
"cc": [
"string"
],
"bcc": [
"string"
],
"templateContent": [
{
"name": "string",
"content": "string"
}
],
"attachmentUrls": [
{
"url": "string",
"filename": "string",
"cid": "string"
}
],
"messageVersions": [
{
"to": [
{
"profileId": "string",
"externalId": "string",
"email": "string",
"phone": "string",
"name": "string",
"vars": {},
"consent": "record_optin"
}
],
"subject": "string",
"templateId": "string",
"replyTo": "string",
"vars": {}
}
],
"inlineCss": true,
"urlStripQs": true,
"preserveRecipients": true,
"viewContentLink": true,
"googleAnalyticsDomains": [
"string"
],
"googleAnalyticsCampaign": "string",
"mergeLanguage": "liquid",
"recipientMetadata": [
{
"rcpt": "string",
"values": {}
}
],
"important": true,
"subaccount": "string",
"trackingDomain": "string",
"signingDomain": "string",
"returnPathDomain": "string",
"tags": [
"string"
],
"metadata": {},
"tracking": {
"opens": true,
"clicks": true
},
"scheduledFor": "2024-01-01T00:00:00Z",
"route": {
"connectionId": "string",
"poolId": "string",
"routePolicyId": "string"
},
"idempotencyKey": "string",
"batchId": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/transactional/send" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"channel":"email","to":[{"profileId":"string","externalId":"string","email":"string","phone":"string","name":"string","vars":{},"consent":"record_optin"}],"templateId":"string","versionId":"string","subject":"string","html":"string","text":"string","vars":{},"from":{"email":"string","name":"string"},"replyTo":"string","inReplyToId":"string","throttle":{"key":"string","windowMinutes":0},"headers":{},"attachments":[{"filename":"string","contentType":"string","contentBase64":"string","cid":"string"}],"cc":["string"],"bcc":["string"],"templateContent":[{"name":"string","content":"string"}],"attachmentUrls":[{"url":"string","filename":"string","cid":"string"}],"messageVersions":[{"to":[{"profileId":"string","externalId":"string","email":"string","phone":"string","name":"string","vars":{},"consent":"record_optin"}],"subject":"string","templateId":"string","replyTo":"string","vars":{}}],"inlineCss":true,"urlStripQs":true,"preserveRecipients":true,"viewContentLink":true,"googleAnalyticsDomains":["string"],"googleAnalyticsCampaign":"string","mergeLanguage":"liquid","recipientMetadata":[{"rcpt":"string","values":{}}],"important":true,"subaccount":"string","trackingDomain":"string","signingDomain":"string","returnPathDomain":"string","tags":["string"],"metadata":{},"tracking":{"opens":true,"clicks":true},"scheduledFor":"2024-01-01T00:00:00Z","route":{"connectionId":"string","poolId":"string","routePolicyId":"string"},"idempotencyKey":"string","batchId":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
202 Default Response
Example
{
"results": [
{
"recipient": "string",
"jobId": "string",
"status": "queued",
"reason": "string"
}
]
}Schema
resultsResultsItem[]requiredShow child parameters
recipientstringrequiredjobIdstringrequiredstatusstringrequiredreasonstring4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectPOST
https://hermeticor.com /v1/transactional/send-raw Send a complete RFC 5322 (MIME) message; From must be a verified sender
Request body
application/json
rawMimestringrequiredtostring[]fromEmailstringfromNamestringreturnPathDomainstringimportantbooleanviewContentLinkbooleansubaccountstringtagsstring[]metadataobjecttrackingobjectShow child parameters
opensbooleanclicksbooleanscheduledForstringrouteobjectShow child parameters
connectionIdstringpoolIdstringroutePolicyIdstringidempotencyKeystringbatchIdstring{
"rawMime": "string",
"to": [
"string"
],
"fromEmail": "string",
"fromName": "string",
"returnPathDomain": "string",
"important": true,
"viewContentLink": true,
"subaccount": "string",
"tags": [
"string"
],
"metadata": {},
"tracking": {
"opens": true,
"clicks": true
},
"scheduledFor": "2024-01-01T00:00:00Z",
"route": {
"connectionId": "string",
"poolId": "string",
"routePolicyId": "string"
},
"idempotencyKey": "string",
"batchId": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/transactional/send-raw" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"rawMime":"string","to":["string"],"fromEmail":"string","fromName":"string","returnPathDomain":"string","important":true,"viewContentLink":true,"subaccount":"string","tags":["string"],"metadata":{},"tracking":{"opens":true,"clicks":true},"scheduledFor":"2024-01-01T00:00:00Z","route":{"connectionId":"string","poolId":"string","routePolicyId":"string"},"idempotencyKey":"string","batchId":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
GET
https://hermeticor.com /v1/messages/{id}/content Rendered subject/body/headers of a sent message, while inside the retention window
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/messages/{id}/content" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"jobId": "string",
"subject": "string",
"text": "string",
"html": "string",
"headers": {},
"attachments": [
{
"filename": "string",
"contentType": "string",
"size": 0,
"cid": "string"
}
],
"expiresAt": "2024-01-01T00:00:00Z"
}Schema
jobIdstringrequiredsubjectstringrequiredtextstringrequiredhtmlstringrequiredheadersobjectrequiredattachmentsobject[]requiredShow child parameters
filenamestringrequiredcontentTypestringrequiredsizenumberrequiredcidstringexpiresAtstringrequiredDELETE
https://hermeticor.com /v1/messages/{id}/content Erase the stored body, headers and attachments of one message now; the delivery record and reporting stay
Parameters
idstringpathrequiredCode samples
cURL
curl -X DELETE "https://hermeticor.com/v1/messages/{id}/content" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"ok": true
}Schema
okbooleanrequiredUpdated