analytics
PATCH
https://hermeticor.com /v1/analytics/reports/{id}/schedule Email this report to recipients (and refresh a Google Sheet) daily, weekly or monthly; null schedule stops it
Parameters
idstringpathrequiredRequest body
application/json
schedulestringrequiredrecipientsstring[]rollingDaysintegersheetIdstring{
"schedule": "daily",
"recipients": [],
"rollingDays": null,
"sheetId": null
}Code samples
cURL
curl -X PATCH "https://hermeticor.com/v1/analytics/reports/{id}/schedule" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"schedule":"daily","recipients":[],"rollingDays":null,"sheetId":null}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"id": "string",
"name": "string",
"query": {
"kind": "messages",
"from": "string",
"to": "string",
"groupBy": "day",
"sourceKind": "string",
"sourceId": "string",
"channel": "email",
"includeMachineOpens": true
},
"createdAt": "2024-01-01T00:00:00Z",
"schedule": "daily",
"recipients": [
"string"
],
"rollingDays": 0,
"sheetId": "string",
"lastSentAt": "2024-01-01T00:00:00Z",
"ownerId": null,
"visibility": "shared"
}Schema
idstringrequirednamestringrequiredqueryQueryVariant | QueryVariant2 | QueryVariant3 | QueryVariant4 | QueryVariant5 | QueryVariant6requiredcreatedAtstringrequiredschedulestringrequiredrecipientsstring[]requiredrollingDaysintegerrequiredsheetIdstringrequiredlastSentAtstringrequiredownerIdstringrequiredvisibilitystringrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectGET
https://hermeticor.com /v1/analytics/sheets/status Code samples
cURL
curl -X GET "https://hermeticor.com/v1/analytics/sheets/status" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"configured": true,
"accountEmail": "string"
}Schema
configuredbooleanrequiredaccountEmailstringrequiredPOST
https://hermeticor.com /v1/analytics/reports/{id}/export-sheet Write the report into a Google spreadsheet shared with the service account (replaces the tab)
Parameters
idstringpathrequiredRequest body
application/json
spreadsheetIdstringrequiredtabstring{
"spreadsheetId": "string",
"tab": "Hermetica"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/analytics/reports/{id}/export-sheet" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"spreadsheetId":"string","tab":"Hermetica"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"updatedRows": 0
}Schema
updatedRowsintegerrequiredPATCH
https://hermeticor.com /v1/analytics/reports/{id}/access Make a report or dashboard private (owner and admins only) or shared with the workspace; only the owner or an admin may change it
Parameters
idstringpathrequiredRequest body
application/json
visibilitystringrequiredsharedWithstring[]{
"visibility": "shared",
"sharedWith": [
"string"
]
}Code samples
cURL
curl -X PATCH "https://hermeticor.com/v1/analytics/reports/{id}/access" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"visibility":"shared","sharedWith":["string"]}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"id": "string",
"visibility": "shared",
"ownerId": "string",
"sharedWith": [
"string"
]
}Schema
idstringrequiredvisibilitystringrequiredownerIdstringrequiredsharedWithstring[]requiredPATCH
https://hermeticor.com /v1/analytics/dashboards/{id}/access Make a report or dashboard private (owner and admins only) or shared with the workspace; only the owner or an admin may change it
Parameters
idstringpathrequiredRequest body
application/json
visibilitystringrequiredsharedWithstring[]{
"visibility": "shared",
"sharedWith": [
"string"
]
}Code samples
cURL
curl -X PATCH "https://hermeticor.com/v1/analytics/dashboards/{id}/access" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"visibility":"shared","sharedWith":["string"]}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
GET
https://hermeticor.com /v1/analytics/engagement Opens or clicks by country, email client or device (machine opens excluded unless includeMachine)
Parameters
fromstringqueryrequiredtostringqueryrequiredbystringquerykindstringquerysourceKindstringquerysourceIdstringqueryincludeMachinestringqueryCode samples
cURL
curl -X GET "https://hermeticor.com/v1/analytics/engagement?from=<from>&to=<to>" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"by": "country",
"kind": "open",
"rows": [
{
"key": "string",
"events": 0,
"unique": 0
}
]
}Schema
bystringrequiredkindstringrequiredrowsRowsItem[]requiredShow child parameters
keystringrequiredeventsintegerrequireduniqueintegerrequiredGET
https://hermeticor.com /v1/analytics/engagement/heatmap Opens or clicks by weekday and hour of day in the given time zone (machine opens excluded unless includeMachine)
Parameters
fromstringqueryrequiredtostringqueryrequiredkindstringquerytimezonestringqueryincludeMachinestringqueryCode samples
cURL
curl -X GET "https://hermeticor.com/v1/analytics/engagement/heatmap?from=<from>&to=<to>" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"kind": "open",
"timezone": "string",
"cells": [
{
"weekday": 0,
"hour": 0,
"events": 0
}
]
}Schema
kindstringrequiredtimezonestringrequiredcellsobject[]requiredShow child parameters
weekdayintegerrequiredhourintegerrequiredeventsintegerrequiredGET
https://hermeticor.com /v1/analytics/assets/downloads Tracked asset links: lifetime hits, plus asset_downloaded events and distinct people in the range
Parameters
fromstringqueryrequiredtostringqueryrequiredlimitintegerqueryPage size; omitted returns the whole list
cursorstringqueryOpaque: the
nextCursor of the previous pageCode samples
cURL
curl -X GET "https://hermeticor.com/v1/analytics/assets/downloads?from=<from>&to=<to>" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"linkId": "string",
"assetId": "string",
"label": "string",
"revoked": true,
"totalHits": 0,
"recordedDownloads": 0,
"people": 0
}
],
"nextCursor": "string"
}Schema
itemsobject[]requiredShow child parameters
linkIdstringrequiredassetIdstringrequiredlabelstringrequiredrevokedbooleanrequiredtotalHitsintegerrequiredrecordedDownloadsintegerrequiredpeopleintegerrequirednextCursorstringrequiredUpdated