connectors
GET
https://hermeticor.com /v1/integrations/shopify/install Start the Shopify app install: returns the authorize URL
Parameters
shopstringqueryrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/integrations/shopify/install?shop=<shop>" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"url": "string"
}Schema
urlstringrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectPOST
https://hermeticor.com /v1/integrations/hubspot/install Start the HubSpot OAuth install: creates the (disabled) connection and returns the authorize URL
Request body
application/json
namestringrequiredclientIdstringrequiredclientSecretstringrequiredappIdstringdeveloperApiKeystring{
"name": "string",
"clientId": "string",
"clientSecret": "string",
"appId": "string",
"developerApiKey": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/hubspot/install" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"string","clientId":"string","clientSecret":"string","appId":"string","developerApiKey":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
201 Default Response
Example
{
"connectionId": "string",
"url": "string"
}Schema
connectionIdstringrequiredurlstringrequiredPOST
https://hermeticor.com /v1/integrations/connections/{id}/hubspot/webhooks Register the HubSpot webhook subscriptions (property change, creation, deletion, merge)
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/webhooks" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"registered": true
}Schema
registeredbooleanrequiredGET
https://hermeticor.com /v1/integrations/connections/{id}/hubspot/lists Segments mirrored into HubSpot lists
Parameters
limitintegerqueryPage size; omitted returns the whole list
cursorstringqueryOpaque: the
nextCursor of the previous pageidstringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"id": "string",
"connectionId": "string",
"segmentId": "string",
"name": "string",
"externalListId": "string",
"backfilled": true,
"lastSyncedAt": "2024-01-01T00:00:00Z",
"lastError": "string",
"createdAt": "2024-01-01T00:00:00Z"
}
],
"nextCursor": "string"
}Schema
itemsItemsItem103[]requiredShow child parameters
idstringrequiredconnectionIdstringrequiredsegmentIdstringrequirednamestringrequiredexternalListIdstringrequiredbackfilledbooleanrequiredlastSyncedAtstringrequiredlastErrorstringrequiredcreatedAtstringrequirednextCursorstringrequiredPOST
https://hermeticor.com /v1/integrations/connections/{id}/hubspot/lists Mirror a segment into a HubSpot static list: initial fill in the background, then kept current on segment entry and exit
Parameters
idstringpathrequiredRequest body
application/json
segmentIdstringrequirednamestringrequired{
"segmentId": "string",
"name": "string"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"segmentId":"string","name":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
201 Default Response
Example
{
"id": "string",
"connectionId": "string",
"segmentId": "string",
"name": "string",
"externalListId": "string",
"backfilled": true,
"lastSyncedAt": "2024-01-01T00:00:00Z",
"lastError": "string",
"createdAt": "2024-01-01T00:00:00Z"
}Schema
idstringrequiredconnectionIdstringrequiredsegmentIdstringrequirednamestringrequiredexternalListIdstringrequiredbackfilledbooleanrequiredlastSyncedAtstringrequiredlastErrorstringrequiredcreatedAtstringrequiredDELETE
https://hermeticor.com /v1/integrations/connections/{id}/hubspot/lists/{syncId} Stop mirroring (the HubSpot list is left in place)
Parameters
idstringpathrequiredsyncIdstringpathrequiredCode samples
cURL
curl -X DELETE "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists/{syncId}" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"ok": true
}Schema
okbooleanrequiredPOST
https://hermeticor.com /v1/integrations/connections/{id}/hubspot/marketing-events/sync Push marketing events and their registrations to HubSpot, keyed on each event's external id (its own ref, else its id); unchanged events are skipped
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/marketing-events/sync" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"pushed": 0,
"unchanged": 0,
"registrations": 0
}Schema
pushedintegerrequiredunchangedintegerrequiredregistrationsintegerrequiredPOST
https://hermeticor.com /v1/integrations/connections/{id}/shopify/discount-codes Create unique single-use Shopify discount codes and add them to a coupon pool
Parameters
idstringpathrequiredRequest body
application/json
poolIdstringrequiredcountintegerrequiredpercentOffnumberrequiredprefixstringendsAtstring{
"poolId": "string",
"count": 0,
"percentOff": 0,
"prefix": "string",
"endsAt": "2024-01-01T00:00:00Z"
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/shopify/discount-codes" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"poolId":"string","count":0,"percentOff":0,"prefix":"string","endsAt":"2024-01-01T00:00:00Z"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
201 Default Response
Example
{
"created": 0,
"addedToPool": 0
}Schema
createdintegerrequiredaddedToPoolintegerrequiredPOST
https://hermeticor.com /v1/integrations/warehouse/rows Reverse-ETL: upsert profiles and events from warehouse rows
Request body
application/json
rowsobject[]required{
"rows": [
{
"type": "profile",
"email": "string",
"phone": "string",
"externalId": "string",
"firstName": "string",
"lastName": "string",
"attributes": {}
}
]
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/warehouse/rows" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"rows":[{"type":"profile","email":"string","phone":"string","externalId":"string","firstName":"string","lastName":"string","attributes":{}}]}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"applied": 0,
"failed": [
{
"index": 0,
"reason": "string"
}
]
}Schema
appliedintegerrequiredfailedRejectedItem[]requiredShow child parameters
indexintegerrequiredreasonstringrequiredGET
https://hermeticor.com /integrations/shopify/callback Parameters
typequeryadditionalPropertiesstringqueryCode samples
cURL
curl -X GET "https://hermeticor.com/integrations/shopify/callback"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
"string"
Updated