engagement

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-engagement"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/3918a56f-6a77-482b-ab0a-92946bdb316a/social-card.svg?v=3e7ae33eec8b" alt="engagement" width="600" height="315"></a>
GEThttps://hermeticor.com/v1/newsletter/engagement/settings

Comment and reaction settings of a publication

Parameters

publicationIdstringqueryrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/newsletter/engagement/settings?publicationId=<publicationId>" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "commentsMode": "off",
  "moderation": "none",
  "holdLinks": true,
  "reactionsEnabled": true,
  "reactionSet": [
    "string"
  ],
  "maxPerHour": 0,
  "minSecondsBetween": 0,
  "notifyComments": true,
  "publicationId": "string"
}
Schema
commentsModestringrequired
off | everyone | members | paid
moderationstringrequired
none | first | all
holdLinksbooleanrequired
reactionsEnabledbooleanrequired
reactionSetstring[]required
maxPerHourintegerrequired
minSecondsBetweenintegerrequired
notifyCommentsbooleanrequired
= true
publicationIdstringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
PUThttps://hermeticor.com/v1/newsletter/engagement/settings

Save comment and reaction settings

Parameters

publicationIdstringqueryrequired

Request body

application/json
commentsModestringrequired
off | everyone | members | paid
moderationstringrequired
none | first | all
holdLinksbooleanrequired
reactionsEnabledbooleanrequired
reactionSetstring[]required
maxPerHourintegerrequired
minSecondsBetweenintegerrequired
notifyCommentsboolean
= true
{
  "commentsMode": "off",
  "moderation": "none",
  "holdLinks": true,
  "reactionsEnabled": true,
  "reactionSet": [
    "string"
  ],
  "maxPerHour": 0,
  "minSecondsBetween": 0,
  "notifyComments": true
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/newsletter/engagement/settings?publicationId=<publicationId>" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"commentsMode":"off","moderation":"none","holdLinks":true,"reactionsEnabled":true,"reactionSet":["string"],"maxPerHour":0,"minSecondsBetween":0,"notifyComments":true}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

GEThttps://hermeticor.com/v1/newsletter/engagement/comments

Comments for moderation (filter by status, e.g. pending)

Parameters

publicationIdstringqueryrequired
postIdstringquery
statusstringquery
published | pending | spam | removed | deleted
limitintegerquery
= 50
cursorstringquery

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/newsletter/engagement/comments?publicationId=<publicationId>" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "publicationId": "string",
      "postId": "string",
      "parentId": "string",
      "profileId": "string",
      "displayName": "string",
      "body": "string",
      "status": "published",
      "pinned": true,
      "isAuthor": true,
      "likeCount": 0,
      "editedAt": "2024-01-01T00:00:00Z",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem202[]required
Show child parameters
idstringrequired
publicationIdstringrequired
postIdstringrequired
parentIdstringrequired
profileIdstringrequired
displayNamestringrequired
bodystringrequired
statusstringrequired
published | pending | spam | removed | deleted
pinnedbooleanrequired
isAuthorbooleanrequired
likeCountintegerrequired
editedAtstringrequired
createdAtstringrequired
nextCursorstringrequired
POSThttps://hermeticor.com/v1/newsletter/engagement/comments/{id}/moderate

Approve, mark spam, remove, pin or unpin a comment

Parameters

idstringpathrequired

Request body

application/json
actionstringrequired
approve | spam | remove | pin | unpin
{
  "action": "approve"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/engagement/comments/{id}/moderate" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"approve"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "publicationId": "string",
  "postId": "string",
  "parentId": "string",
  "profileId": "string",
  "displayName": "string",
  "body": "string",
  "status": "published",
  "pinned": true,
  "isAuthor": true,
  "likeCount": 0,
  "editedAt": "2024-01-01T00:00:00Z",
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
publicationIdstringrequired
postIdstringrequired
parentIdstringrequired
profileIdstringrequired
displayNamestringrequired
bodystringrequired
statusstringrequired
published | pending | spam | removed | deleted
pinnedbooleanrequired
isAuthorbooleanrequired
likeCountintegerrequired
editedAtstringrequired
createdAtstringrequired
POSThttps://hermeticor.com/v1/newsletter/engagement/comments/{id}/reply

Reply as the author (badged, notifies the commenter)

Parameters

idstringpathrequired

Request body

application/json
bodystringrequired
authorNamestring
= Author
{
  "body": "string",
  "authorName": "Author"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/engagement/comments/{id}/reply" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body":"string","authorName":"Author"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

GEThttps://hermeticor.com/v1/newsletter/engagement/bans

Banned commenters

Parameters

publicationIdstringqueryrequired
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/newsletter/engagement/bans?publicationId=<publicationId>" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "publicationId": "string",
      "profileId": "string",
      "reason": "string",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem203[]required
Show child parameters
idstringrequired
publicationIdstringrequired
profileIdstringrequired
reasonstringrequired
createdAtstringrequired
nextCursorstringrequired
POSThttps://hermeticor.com/v1/newsletter/engagement/bans

Ban a reader from commenting on a publication

Request body

application/json
publicationIdstringrequired
profileIdstringrequired
reasonstring
{
  "publicationId": "string",
  "profileId": "string",
  "reason": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/engagement/bans" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"publicationId":"string","profileId":"string","reason":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "publicationId": "string",
  "profileId": "string",
  "reason": "string",
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
publicationIdstringrequired
profileIdstringrequired
reasonstringrequired
createdAtstringrequired
DELETEhttps://hermeticor.com/v1/newsletter/engagement/bans/{publicationId}/{profileId}

Lift a ban

Parameters

publicationIdstringpathrequired
profileIdstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/newsletter/engagement/bans/{publicationId}/{profileId}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true

Updated