campaigns
POST
https://hermeticor.com /v1/programs/{id}/assets Parameters
idstringpathrequiredRequest body
application/json
kindstringrequiredassetIdstringrequired{
"kind": "campaign",
"assetId": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/programs/{id}/assets" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"kind":"campaign","assetId":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
201 Default Response
Example
{
"ok": true
}Schema
okbooleanrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectDELETE
https://hermeticor.com /v1/programs/{id}/assets/{kind}/{assetId} Parameters
idstringpathrequiredkindstringpathrequiredassetIdstringpathrequiredCode samples
cURL
curl -X DELETE "https://hermeticor.com/v1/programs/{id}/assets/{kind}/{assetId}" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
POST
https://hermeticor.com /v1/campaigns/{id}/content/zip Set a draft campaign's email content from a ZIP (multipart field "file"): one HTML page plus its images. Images become library assets and the page links are rewritten to them
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/v1/campaigns/{id}/content/zip" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"messageId": "string",
"source": "template",
"templateId": "string",
"templateVersionId": "string",
"html": "string",
"plainText": "string",
"blocks": {},
"zip": {
"imagesHosted": 0,
"imagesSkipped": [
"string"
],
"htmlFile": "string"
}
}Schema
messageIdstringrequiredsourcestringrequiredtemplateIdstringrequiredtemplateVersionIdstringrequiredhtmlstringrequiredplainTextstringrequiredblocksrequiredzipobjectrequiredShow child parameters
imagesHostedintegerrequiredimagesSkippedstring[]requiredhtmlFilestringrequiredGET
https://hermeticor.com /v1/campaign-folders/{id}/assets Forms, pages, workflows and templates filed under this folder
Parameters
limitintegerqueryPage size; omitted returns the whole list
cursorstringqueryOpaque: the
nextCursor of the previous pageidstringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/campaign-folders/{id}/assets" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"assetType": "form",
"assetId": "string"
}
],
"nextCursor": "string"
}Schema
itemsItemsItem168[]requiredShow child parameters
assetTypestringrequiredassetIdstringrequirednextCursorstringrequiredPUT
https://hermeticor.com /v1/campaign-folders/{id}/assets/{assetType}/{assetId} File an asset under the folder (moves it if it was in another folder)
Parameters
idstringpathrequiredassetTypestringpathrequiredassetIdstringpathrequiredCode samples
cURL
curl -X PUT "https://hermeticor.com/v1/campaign-folders/{id}/assets/{assetType}/{assetId}" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
DELETE
https://hermeticor.com /v1/campaign-folders/{id}/assets/{assetType}/{assetId} Parameters
idstringpathrequiredassetTypestringpathrequiredassetIdstringpathrequiredCode samples
cURL
curl -X DELETE "https://hermeticor.com/v1/campaign-folders/{id}/assets/{assetType}/{assetId}" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
GET
https://hermeticor.com /v1/campaign-folders/{id}/assets/{assetType} Parameters
limitintegerqueryPage size; omitted returns the whole list
cursorstringqueryOpaque: the
nextCursor of the previous pageidstringpathrequiredassetTypestringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/campaign-folders/{id}/assets/{assetType}" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
POST
https://hermeticor.com /v1/campaigns/query Filter campaigns with a typed where / orderBy / limit / offset (fields are an allowlist; read "fields" in the result)
Request body
application/json
whereWhereItem[]Show child parameters
fieldstringrequiredopstringrequiredvaluestring | number | boolean | string | number[]orderByobject[]Show child parameters
fieldstringrequireddirstringlimitintegeroffsetinteger{
"where": [],
"orderBy": [],
"limit": 50,
"offset": 0
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/campaigns/query" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"where":[],"orderBy":[],"limit":50,"offset":0}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{}
],
"fields": [
"string"
],
"hasMore": true
}Schema
itemsobject[]requiredfieldsstring[]requiredhasMorebooleanrequiredGET
https://hermeticor.com /v1/campaigns/{id}/language-metrics How each language group (by the language on the contact) did, with clicks per link
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/campaigns/{id}/language-metrics" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"locale": "string",
"sent": 0,
"delivered": 0,
"opens": 0,
"clicks": 0
}
],
"links": [
{
"locale": "string",
"url": "string",
"clicks": 0
}
]
}Schema
itemsobject[]requiredShow child parameters
localestringrequiredsentnumberrequireddeliverednumberrequiredopensnumberrequiredclicksnumberrequiredlinksobject[]requiredShow child parameters
localestringrequiredurlstringrequiredclicksnumberrequiredUpdated