consent

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-consent"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/da934e58-dc9c-402a-aa1a-af47ac300ca4/social-card.svg?v=3e7ae33eec8b" alt="consent" width="600" height="315"></a>
DELETEhttps://hermeticor.com/v1/topics/{id}

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/topics/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

PATCHhttps://hermeticor.com/v1/topics/{id}

Parameters

idstringpathrequired

Request body

application/json
namestring
descriptionstring
defaultOptInboolean
visibleInPreferenceCenterboolean
groupIdstring
positioninteger
{
  "name": "string",
  "description": "string",
  "defaultOptIn": true,
  "visibleInPreferenceCenter": true,
  "groupId": "string",
  "position": 0
}

Code samples

cURL
curl -X PATCH "https://hermeticor.com/v1/topics/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","description":"string","defaultOptIn":true,"visibleInPreferenceCenter":true,"groupId":"string","position":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "channel": "email",
  "key": "string",
  "name": "string",
  "description": "string",
  "defaultOptIn": true,
  "visibleInPreferenceCenter": true,
  "groupId": "string",
  "position": 0,
  "createdAt": "2024-01-01T00:00:00Z",
  "subscriberCount": 0
}
Schema
idstringrequired
channelstringrequired
email | sms | whatsapp | push | postcard
keystringrequired
namestringrequired
descriptionstringrequired
defaultOptInbooleanrequired
visibleInPreferenceCenterbooleanrequired
groupIdstring
positioninteger
createdAtstringrequired
subscriberCountinteger
4XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

GEThttps://hermeticor.com/v1/profiles/{id}/consent

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page
idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/profiles/{id}/consent" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "profileId": "string",
      "channel": "email",
      "purpose": "marketing",
      "topicId": "string",
      "status": "granted",
      "recordId": "string",
      "expiresAt": "2024-01-01T00:00:00Z",
      "updatedAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem16[]required
Show child parameters
profileIdstringrequired
channelstringrequired
email | sms | whatsapp | push | postcard
purposestringrequired
marketing | prospecting | transactional | operational
topicIdstringrequired
statusstringrequired
granted | revoked | pending_confirmation
recordIdstringrequired
expiresAtstringrequired
updatedAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

POSThttps://hermeticor.com/v1/profiles/{id}/consent

Parameters

idstringpathrequired

Request body

application/json
channelstringrequired
email | sms | whatsapp | push | postcard
purposestringrequired
marketing | prospecting | transactional | operational
topicIdstring
statusstringrequired
granted | revoked | pending_confirmation
legalBasisstring
consent | legitimate_interest | contract | other = consent
sourcestringrequired
form | import | api | sms_keyword | preference_center | admin | double_opt_in
sourceRefstring
disclosureTextstring
disclosureVersionstring
ipstring
userAgentstring
proofobject
expiresAtstring
revocationScopestring
topic | channel | all
{
  "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/profiles/{id}/consent" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"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
{
  "record": {
    "id": "string",
    "profileId": "string",
    "channel": "email",
    "purpose": "marketing",
    "topicId": "string",
    "status": "granted",
    "legalBasis": "consent",
    "source": "form",
    "sourceRef": "string",
    "disclosureText": "string",
    "disclosureVersion": "string",
    "expiresAt": "2024-01-01T00:00:00Z",
    "revocationScope": "topic",
    "at": "2024-01-01T00:00:00Z"
  }
}
Option 1
recordobjectrequired
Show child parameters
idstringrequired
profileIdstringrequired
channelstringrequired
email | sms | whatsapp | push | postcard
purposestringrequired
marketing | prospecting | transactional | operational
topicIdstringrequired
statusstringrequired
granted | revoked | pending_confirmation
legalBasisstringrequired
consent | legitimate_interest | contract | other
sourcestringrequired
form | import | api | sms_keyword | preference_center | admin | double_opt_in
sourceRefstringrequired
disclosureTextstringrequired
disclosureVersionstringrequired
expiresAtstringrequired
revocationScopestringrequired
topic | channel | all
atstringrequired
{
  "record": {
    "id": "string",
    "profileId": "string",
    "channel": "email",
    "purpose": "marketing",
    "topicId": "string",
    "status": "granted",
    "legalBasis": "consent",
    "source": "form",
    "sourceRef": "string",
    "disclosureText": "string",
    "disclosureVersion": "string",
    "expiresAt": "2024-01-01T00:00:00Z",
    "revocationScope": "topic",
    "at": "2024-01-01T00:00:00Z"
  }
}
Option 2
ignoredstringrequired
revoked_previously
{
  "ignored": "revoked_previously"
}
4XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

GEThttps://hermeticor.com/v1/profiles/{id}/contact-prefs

Snooze, preferred channel and per-channel frequency; all enforced by the eligibility gate

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/profiles/{id}/contact-prefs" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "profileId": "string",
  "snoozedUntil": "2024-01-01T00:00:00Z",
  "preferredChannel": "email",
  "emailFrequency": "all",
  "smsFrequency": "all",
  "adsOptOut": false,
  "trackingOptOut": false
}
Schema
profileIdstringrequired
snoozedUntilstringrequired
preferredChannelstringrequired
email | sms | whatsapp | push | postcard
emailFrequencystringrequired
all | daily | weekly | monthly
smsFrequencystringrequired
all | daily | weekly | monthly
adsOptOutbooleanrequired
= false
trackingOptOutbooleanrequired
= false
4XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

PUThttps://hermeticor.com/v1/profiles/{id}/contact-prefs

Parameters

idstringpathrequired

Request body

application/json
snoozedUntilstring
preferredChannelstring
email | sms | whatsapp | push | postcard
emailFrequencystring
all | daily | weekly | monthly
smsFrequencystring
all | daily | weekly | monthly
adsOptOutboolean
trackingOptOutboolean
{
  "snoozedUntil": "2024-01-01T00:00:00Z",
  "preferredChannel": "email",
  "emailFrequency": "all",
  "smsFrequency": "all",
  "adsOptOut": true,
  "trackingOptOut": true
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/profiles/{id}/contact-prefs" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"snoozedUntil":"2024-01-01T00:00:00Z","preferredChannel":"email","emailFrequency":"all","smsFrequency":"all","adsOptOut":true,"trackingOptOut":true}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · GET /v1/profiles/{id}/contact-prefs

4XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

GEThttps://hermeticor.com/v1/optouts

Everyone currently opted out, by channel and topic

Parameters

channelstringquery
email | sms | whatsapp | push | postcard
topicIdstringquery
limitintegerquery
= 50
offsetintegerquery
= 0

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/optouts" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "profileId": "string",
      "channel": "email",
      "purpose": "string",
      "topicId": "string",
      "revokedAt": "2024-01-01T00:00:00Z"
    }
  ],
  "total": 0
}
Schema
itemsobject[]required
Show child parameters
profileIdstringrequired
channelstringrequired
email | sms | whatsapp | push | postcard
purposestringrequired
topicIdstringrequired
revokedAtstringrequired
totalintegerrequired
4XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

5XX Default Response

Same as 4XX · DELETE /v1/topics/{id}

Updated