webhooks
POST
https://hermeticor.com /webhooks/inbound/{provider}/{workspaceId}/{domainId}/{sig} Receive inbound mail from SendGrid Inbound Parse (raw MIME mode), Postmark, Mailgun routes or SES/SNS; queues the matching inbound routes
Parameters
providerstringpathrequiredworkspaceIdstringpathrequireddomainIdstringpathrequiredsigstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/inbound/{provider}/{workspaceId}/{domainId}/{sig}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"ok": true,
"matched": 0,
"duplicate": true,
"confirmed": true
}Schema
okbooleanrequiredmatchedintegerrequiredduplicatebooleanconfirmedboolean4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectPOST
https://hermeticor.com /webhooks/bounce/{workspaceId}/{connectionId}/generic Generic bounce intake (documented JSON, HMAC-signed with the connection webhook secret): bounces, complaints, deliveries
Parameters
workspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/generic"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"ok": true,
"received": 0,
"duplicates": 0,
"validationResponse": "string"
}Schema
okbooleanrequiredreceivedintegerrequiredduplicatesintegerrequiredvalidationResponsestringPOST
https://hermeticor.com /webhooks/bounce/{workspaceId}/{connectionId}/azure Azure Communication Services email delivery reports via Event Grid webhook; send header x-hermetica-token = connection webhook secret. Answers the Event Grid validation handshake
Parameters
workspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/azure"TypeScript
Python
Go
PHP
Ruby
Java
Responses
POST
https://hermeticor.com /webhooks/bounce/{workspaceId}/{connectionId}/lettermint Lettermint webhook (hard/soft bounce, spam complaint, delivered); X-Lettermint-Signature t=<unix>,v1=HMAC-SHA256 of "<t>.<body>" with the connection webhook secret
Parameters
workspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/lettermint"TypeScript
Python
Go
PHP
Ruby
Java
Responses
POST
https://hermeticor.com /webhooks/bounce/{workspaceId}/{connectionId}/forwardemail Forward Email bounce webhook; X-Webhook-Signature = HMAC-SHA256 of the body with the connection webhook secret as the verification key
Parameters
workspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/forwardemail"TypeScript
Python
Go
PHP
Ruby
Java
Responses
POST
https://hermeticor.com /webhooks/bounce/{workspaceId}/{connectionId}/sparkpost SparkPost events receiver; authenticate with the X-MessageSystems-Webhook-Token header (or basic auth) = connection webhook secret
Parameters
workspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/sparkpost"TypeScript
Python
Go
PHP
Ruby
Java
Responses
GET
https://hermeticor.com /webhooks/{workspaceId}/{connectionId} WhatsApp (Meta) webhook verification handshake
Parameters
typequeryadditionalPropertiesstringqueryworkspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/webhooks/{workspaceId}/{connectionId}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
"string"
POST
https://hermeticor.com /webhooks/{workspaceId}/{connectionId} Provider webhook receiver: verify signature, store raw events (deduped), process asynchronously
Parameters
workspaceIdstringpathrequiredconnectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/webhooks/{workspaceId}/{connectionId}"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"ok": true,
"received": 0,
"duplicates": 0
}Option 1
okbooleanrequiredreceivednumberrequiredduplicatesnumberrequired{
"ok": true,
"received": 0,
"duplicates": 0
}Option 2
"string"
GET
https://hermeticor.com /v1/webhooks/endpoints Parameters
limitintegerquerycursorstringqueryCode samples
cURL
curl -X GET "https://hermeticor.com/v1/webhooks/endpoints" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"id": "string",
"url": "string",
"topics": [
"string"
],
"description": "string",
"filters": [
{
"id": "string",
"path": "string",
"op": "eq",
"value": {}
}
],
"listIds": [
"string"
],
"sources": [
"string"
],
"sequenceIds": [
"string"
],
"bodyTemplate": "string",
"authHeaders": [
{
"header": "string",
"secretName": "string",
"prefix": "string"
}
],
"throttleSeconds": 0,
"throttleTopics": [
"string"
],
"status": "active",
"consecutiveFailures": 0,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}
],
"nextCursor": "string"
}Schema
itemsItemsItem66[]requiredShow child parameters
idstringrequiredurlstringrequiredtopicsstring[]requireddescriptionstringrequiredfiltersFiltersItem[]requiredShow child parameters
idstringpathstringrequiredopstringrequiredvaluelistIdsstring[]requiredsourcesstring[]requiredsequenceIdsstring[]requiredbodyTemplatestringrequiredauthHeadersAuthHeadersItem2[]requiredShow child parameters
headerstringrequiredsecretNamestringrequiredprefixstringthrottleSecondsintegerrequiredthrottleTopicsstring[]requiredstatusstringrequiredconsecutiveFailuresintegerrequiredcreatedAtstringrequiredupdatedAtstringrequirednextCursorstringrequiredUpdated