consent
POST
https://hermeticor.com /v1/profiles/{id}/suppress Suppress every address of the profile (or one channel): nothing is sent until an admin or marketer lifts a manual suppression
Parameters
idstringpathrequiredRequest body
application/json
channelstring{
"channel": "email"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/profiles/{id}/suppress" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"channel":"email"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"suppressed": [
{
"channel": "email",
"value": "string"
}
]
}Schema
suppressedSuppressedItem[]requiredShow child parameters
channelstringrequiredvaluestringrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectPOST
https://hermeticor.com /v1/profiles/{id}/unsuppress Lift manual suppressions of the profile; bounces, complaints and carrier STOPs stay
Parameters
idstringpathrequiredRequest body
application/json
channelstringreasonstringrequired{
"channel": "email",
"reason": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/profiles/{id}/unsuppress" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"channel":"email","reason":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"lifted": 0
}Schema
liftedintegerrequiredPOST
https://hermeticor.com /v1/consent/batch/read Consent state of up to 100 people addressed by profile id, email or phone (unknown people come back with profileId null)
Request body
application/json
itemsItemsItem166[]Show child parameters
profileIdstringemailstringphonestringtargetsItemsItem166[]Deprecated: use items
Show child parameters
profileIdstringemailstringphonestring{
"items": [
{
"profileId": "string",
"email": "string",
"phone": "string"
}
],
"targets": [
{
"profileId": "string",
"email": "string",
"phone": "string"
}
]
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/consent/batch/read" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"profileId":"string","email":"string","phone":"string"}],"targets":[{"profileId":"string","email":"string","phone":"string"}]}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"index": 0,
"profileId": "string",
"states": [
{
"profileId": "string",
"channel": "email",
"purpose": "marketing",
"topicId": "string",
"status": "granted",
"recordId": "string",
"expiresAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}
]
}
]
}Schema
itemsobject[]requiredShow child parameters
indexintegerrequiredprofileIdstringrequiredstatesItemsItem16[]requiredShow child parameters
profileIdstringrequiredchannelstringrequiredpurposestringrequiredtopicIdstringrequiredstatusstringrequiredrecordIdstringrequiredexpiresAtstringrequiredupdatedAtstringrequiredPOST
https://hermeticor.com /v1/consent/batch/write Record consent for up to 100 people. Each grant needs proof or a source reference; earlier opt-outs and suppressions still win (reported per row)
Request body
application/json
itemsobject[]requiredShow child parameters
targetobjectrequiredShow child parameters
profileIdstringemailstringphonestringconsentobjectrequiredShow child parameters
channelstringrequiredpurposestringrequiredtopicIdstringstatusstringrequiredlegalBasisstringsourcestringrequiredsourceRefstringdisclosureTextstringdisclosureVersionstringipstringuserAgentstringproofobjectexpiresAtstringrevocationScopestring{
"items": [
{
"target": {
"profileId": "string",
"email": "string",
"phone": "string"
},
"consent": {
"channel": "email",
"purpose": "marketing",
"topicId": "string",
"status": "granted",
"legalBasis": "consent",
"source": "form",
"sourceRef": "string",
"disclosureText": "string",
"disclosureVersion": "string",
"ip": "string",
"userAgent": "string",
"proof": {},
"expiresAt": "2024-01-01T00:00:00Z",
"revocationScope": "topic"
}
}
]
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/consent/batch/write" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"target":{"profileId":"string","email":"string","phone":"string"},"consent":{"channel":"email","purpose":"marketing","topicId":"string","status":"granted","legalBasis":"consent","source":"form","sourceRef":"string","disclosureText":"string","disclosureVersion":"string","ip":"string","userAgent":"string","proof":{},"expiresAt":"2024-01-01T00:00:00Z","revocationScope":"topic"}}]}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"index": 0,
"ok": true,
"profileId": "string",
"message": "string",
"result": "string"
}
],
"succeeded": 0,
"failed": 0
}Schema
itemsItemsItem167[]requiredShow child parameters
indexintegerrequiredokbooleanrequiredprofileIdstringrequiredmessagestringresultstringsucceededintegerrequiredfailedintegerrequiredPOST
https://hermeticor.com /v1/consent/batch/unsubscribe-all Revoke marketing consent on every chosen channel for up to 100 people, recording where the request came from
Request body
application/json
itemsItemsItem166[]Show child parameters
profileIdstringemailstringphonestringtargetsItemsItem166[]Deprecated: use items
Show child parameters
profileIdstringemailstringphonestringsourcestringrequiredchannelsstring[]{
"items": [
{
"profileId": "string",
"email": "string",
"phone": "string"
}
],
"targets": [
{
"profileId": "string",
"email": "string",
"phone": "string"
}
],
"source": "string",
"channels": [
"email",
"sms"
]
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/consent/batch/unsubscribe-all" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"profileId":"string","email":"string","phone":"string"}],"targets":[{"profileId":"string","email":"string","phone":"string"}],"source":"string","channels":["email","sms"]}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
GET
https://hermeticor.com /v1/do-not-contact LinkedIn do-not-contact list (emails and phones are listed under suppressions)
Parameters
limitintegerquerycursorstringqueryqstringqueryCode samples
cURL
curl -X GET "https://hermeticor.com/v1/do-not-contact" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"id": "string",
"kind": "linkedin",
"value": "string",
"sourceRef": "string",
"createdAt": "2024-01-01T00:00:00Z"
}
],
"nextCursor": "string"
}Schema
itemsobject[]requiredShow child parameters
idstringrequiredkindstringrequiredvaluestringrequiredsourceRefstringrequiredcreatedAtstringrequirednextCursorstringrequiredPOST
https://hermeticor.com /v1/do-not-contact Add do-not-contact values; phones block SMS and WhatsApp, LinkedIn URLs block LinkedIn outreach
Request body
application/json
kindstringrequiredvaluesstring[]requirednotestring{
"kind": "email",
"values": [
"string"
],
"note": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/do-not-contact" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"kind":"email","values":["string"],"note":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"added": 0,
"invalid": [
{
"value": "string",
"error": "string"
}
]
}Schema
addedintegerrequiredinvalidobject[]requiredShow child parameters
valuestringrequirederrorstringrequiredGET
https://hermeticor.com /v1/do-not-contact/check Parameters
linkedinUrlstringqueryphonestringqueryCode samples
cURL
curl -X GET "https://hermeticor.com/v1/do-not-contact/check" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"linkedin": true,
"phone": true
}Schema
linkedinbooleanrequiredphonebooleanrequiredUpdated