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>
POSThttps://hermeticor.com/v1/topic-groups/default

Create the default topic group with one opt-in-only general topic per channel (safe to repeat)

Code samples

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

Responses

200 Default Response
Example
{
  "group": {
    "id": "string",
    "name": "string",
    "displayType": "string",
    "position": 0,
    "topicCount": 0,
    "createdAt": "2024-01-01T00:00:00Z"
  },
  "created": 0
}
Schema
groupobjectrequired
Show child parameters
idstringrequired
namestringrequired
displayTypestringrequired
positionintegerrequired
topicCountinteger
createdAtstringrequired
createdintegerrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

GEThttps://hermeticor.com/v1/topic-groups

Parameters

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

Code samples

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

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "displayType": "string",
      "position": 0,
      "topicCount": 0,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsGroup[]required
Show child parameters
idstringrequired
namestringrequired
displayTypestringrequired
positionintegerrequired
topicCountinteger
createdAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

POSThttps://hermeticor.com/v1/topic-groups

Request body

application/json
namestringrequired
displayTypestring
checkboxes | radio | dropdown | hidden = checkboxes
positioninteger
= 0
{
  "name": "string",
  "displayType": "checkboxes",
  "position": 0
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/topic-groups" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","displayType":"checkboxes","position":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "displayType": "string",
  "position": 0,
  "topicCount": 0,
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
namestringrequired
displayTypestringrequired
positionintegerrequired
topicCountinteger
createdAtstringrequired
4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

GEThttps://hermeticor.com/v1/topic-groups/{id}

Parameters

idstringpathrequired

Code samples

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

Responses

200 Default Response

Same as 201 · POST /v1/topic-groups

4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

DELETEhttps://hermeticor.com/v1/topic-groups/{id}

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/topic-groups/{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

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

PATCHhttps://hermeticor.com/v1/topic-groups/{id}

Parameters

idstringpathrequired

Request body

application/json
namestring
displayTypestring
checkboxes | radio | dropdown | hidden
positioninteger
{
  "name": "string",
  "displayType": "checkboxes",
  "position": 0
}

Code samples

cURL
curl -X PATCH "https://hermeticor.com/v1/topic-groups/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","displayType":"checkboxes","position":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 201 · POST /v1/topic-groups

4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

GEThttps://hermeticor.com/v1/subscription-channels

Channels a person can subscribe to, with the purposes each is consented for

Parameters

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

Code samples

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

Responses

200 Default Response
Example
{
  "items": [
    {
      "channel": "email",
      "purposes": [
        "marketing"
      ]
    }
  ],
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
channelstringrequired
email | sms
purposesstring[]required
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

GEThttps://hermeticor.com/v1/topics

Topics; `groupId` filters by group, `counts=true` adds how many people are subscribed to each

Parameters

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

Code samples

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

Responses

200 Default Response
Example
{
  "items": [
    {
      "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
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem15[]required
Show child parameters
idstringrequired
channelstringrequired
email | sms | whatsapp | push | postcard
keystringrequired
namestringrequired
descriptionstringrequired
defaultOptInbooleanrequired
visibleInPreferenceCenterbooleanrequired
groupIdstring
positioninteger
createdAtstringrequired
subscriberCountinteger
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

POSThttps://hermeticor.com/v1/topics

Request body

application/json
channelstringrequired
email | sms | whatsapp | push | postcard
keystringrequired
namestringrequired
descriptionstring
defaultOptInboolean
= false
visibleInPreferenceCenterboolean
= true
groupIdstring
positioninteger
{
  "channel": "email",
  "key": "string",
  "name": "string",
  "description": "string",
  "defaultOptIn": false,
  "visibleInPreferenceCenter": true,
  "groupId": "string",
  "position": 0
}

Code samples

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

Responses

201 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 · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

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

Parameters

idstringpathrequired

Code samples

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

Responses

200 Default Response

Same as 201 · POST /v1/topics

4XX Default Response

Same as 4XX · POST /v1/topic-groups/default

5XX Default Response

Same as 4XX · POST /v1/topic-groups/default

Updated