webhooks

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-webhooks"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/4870b1c4-ef67-427a-9cf5-cfc37c3c2402/social-card.svg?v=3e7ae33eec8b" alt="webhooks" width="600" height="315"></a>
POSThttps://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

providerstringpathrequired
sendgrid | postmark | mailgun | ses
workspaceIdstringpathrequired
domainIdstringpathrequired
sigstringpathrequired

Code 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
okbooleanrequired
true
matchedintegerrequired
duplicateboolean
confirmedboolean
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
POSThttps://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/generic

Generic bounce intake (documented JSON, HMAC-signed with the connection webhook secret): bounces, complaints, deliveries

Parameters

workspaceIdstringpathrequired
connectionIdstringpathrequired

Code 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
okbooleanrequired
true
receivedintegerrequired
duplicatesintegerrequired
validationResponsestring
POSThttps://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

workspaceIdstringpathrequired
connectionIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/azure"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

POSThttps://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

workspaceIdstringpathrequired
connectionIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/lettermint"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

POSThttps://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

workspaceIdstringpathrequired
connectionIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/forwardemail"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

POSThttps://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

workspaceIdstringpathrequired
connectionIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/webhooks/bounce/{workspaceId}/{connectionId}/sparkpost"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

GEThttps://hermeticor.com/webhooks/{workspaceId}/{connectionId}

WhatsApp (Meta) webhook verification handshake

Parameters

typequery
additionalPropertiesstringquery
workspaceIdstringpathrequired
connectionIdstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/webhooks/{workspaceId}/{connectionId}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
"string"
POSThttps://hermeticor.com/webhooks/{workspaceId}/{connectionId}

Provider webhook receiver: verify signature, store raw events (deduped), process asynchronously

Parameters

workspaceIdstringpathrequired
connectionIdstringpathrequired

Code 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
okbooleanrequired
true
receivednumberrequired
duplicatesnumberrequired
{
  "ok": true,
  "received": 0,
  "duplicates": 0
}
Option 2
"string"
GEThttps://hermeticor.com/v1/webhooks/endpoints

Parameters

limitintegerquery
= 50
cursorstringquery

Code 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[]required
Show child parameters
idstringrequired
urlstringrequired
topicsstring[]required
descriptionstringrequired
filtersFiltersItem[]required
Show child parameters
idstring
pathstringrequired
opstringrequired
eq | neq | in | contains | exists | gt | lt
value
listIdsstring[]required
sourcesstring[]required
sequenceIdsstring[]required
bodyTemplatestringrequired
authHeadersAuthHeadersItem2[]required
Show child parameters
headerstringrequired
secretNamestringrequired
prefixstring
throttleSecondsintegerrequired
throttleTopicsstring[]required
statusstringrequired
active | disabled
consecutiveFailuresintegerrequired
createdAtstringrequired
updatedAtstringrequired
nextCursorstringrequired

Updated