connectors
GET
https://hermeticor.com /v1/integrations/catalog Declarative connectors available to connect
Parameters
limitintegerqueryPage size; omitted returns the whole list
cursorstringqueryOpaque: the
nextCursor of the previous pageCode samples
cURL
curl -X GET "https://hermeticor.com/v1/integrations/catalog" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"items": [
{
"id": "string",
"name": "string",
"category": "string",
"docsUrl": "string",
"logo": "string",
"summary": "string",
"auth": "api_key",
"oauthBrowser": true,
"fields": [
{
"key": "string",
"label": "string",
"help": "string",
"secret": true,
"optional": true,
"url": true,
"placeholder": "string"
}
],
"events": [
"string"
],
"syncs": [
"string"
],
"webhooks": true,
"consent": "string",
"verified": true,
"notes": "string"
}
],
"nextCursor": "string"
}Schema
itemsobject[]requiredShow child parameters
idstringrequirednamestringrequiredcategorystringrequireddocsUrlstringrequiredlogostringrequiredsummarystringrequiredauthstringrequiredoauthBrowserbooleanrequiredfieldsobject[]requiredShow child parameters
keystringrequiredlabelstringrequiredhelpstringsecretbooleanrequiredoptionalbooleanrequiredurlbooleanrequiredplaceholderstringeventsstring[]requiredsyncsstring[]requiredwebhooksbooleanrequiredconsentstringrequiredverifiedbooleanrequirednotesstringrequirednextCursorstringrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectPOST
https://hermeticor.com /v1/integrations/declarative/connect Connect a catalog connector from its manifest fields; OAuth connectors return the authorize URL
Request body
application/json
manifestIdstringrequirednamestringrequiredvaluesobjectrequired{
"manifestId": "string",
"name": "string",
"values": {}
}Code samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/declarative/connect" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"manifestId":"string","name":"string","values":{}}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
201 Default Response
Example
{
"connectionId": "string",
"authorizeUrl": "string",
"webhook": {
"url": "string",
"secret": "string",
"verifyToken": "string",
"signature": "string",
"setup": "string",
"capturedCode": "string",
"capturedAt": "2024-01-01T00:00:00Z"
}
}Schema
connectionIdstringrequiredauthorizeUrlstringrequiredwebhookobjectrequiredShow child parameters
urlstringrequiredsecretstringrequiredverifyTokenstringrequiredsignaturestringrequiredsetupstringrequiredcapturedCodestringrequiredcapturedAtstringrequiredGET
https://hermeticor.com /v1/integrations/connections/{id}/declarative Sync cursors, last error and the webhook URL + secret to paste into the vendor
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://hermeticor.com/v1/integrations/connections/{id}/declarative" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"manifestId": "string",
"status": "string",
"lastSyncAt": "2024-01-01T00:00:00Z",
"lastError": "string",
"webhook": {
"url": "string",
"secret": "string",
"verifyToken": "string",
"signature": "string",
"setup": "string",
"capturedCode": "string",
"capturedAt": "2024-01-01T00:00:00Z"
},
"secretRotatable": true,
"secretPastable": true,
"secretSet": true,
"push": {
"available": true,
"enabled": true,
"segmentId": "string"
},
"streams": [
{
"name": "string",
"cursor": "string",
"done": true
}
]
}Schema
manifestIdstringrequiredstatusstringrequiredlastSyncAtstringrequiredlastErrorstringrequiredwebhookobjectrequiredShow child parameters
urlstringrequiredsecretstringrequiredverifyTokenstringrequiredsignaturestringrequiredsetupstringrequiredcapturedCodestringrequiredcapturedAtstringrequiredsecretRotatablebooleanrequiredsecretPastablebooleanrequiredsecretSetbooleanrequiredpushobjectrequiredShow child parameters
availablebooleanrequiredenabledbooleanrequiredsegmentIdstringrequiredstreamsobject[]requiredShow child parameters
namestringrequiredcursorstringrequireddonebooleanrequiredPOST
https://hermeticor.com /v1/integrations/connections/{id}/resync Forget the cursors and re-read the vendor from the beginning
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/resync" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
202 Default Response
Example
{
"ok": true
}Schema
okbooleanrequiredPOST
https://hermeticor.com /v1/integrations/connections/{id}/declarative/rotate-webhook-secret Generate a new webhook secret; the new value is returned once and the old one stops working
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/declarative/rotate-webhook-secret" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"url": "string",
"secret": "string",
"verifyToken": "string",
"signature": "string",
"setup": "string",
"capturedCode": "string",
"capturedAt": "2024-01-01T00:00:00Z"
}Schema
urlstringrequiredsecretstringrequiredverifyTokenstringrequiredsignaturestringrequiredsetupstringrequiredcapturedCodestringrequiredcapturedAtstringrequiredPUT
https://hermeticor.com /v1/integrations/connections/{id}/declarative/webhook-secret Save the signing secret the vendor shows only after it verified the webhook URL (e.g. Clover X-Clover-Auth); it is never returned
Parameters
idstringpathrequiredRequest body
application/json
secretstringrequired{
"secret": "string"
}Code samples
cURL
curl -X PUT "https://hermeticor.com/v1/integrations/connections/{id}/declarative/webhook-secret" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"secret":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
PUT
https://hermeticor.com /v1/integrations/connections/{id}/declarative/push Turn on sending changed profiles to this CRM/helpdesk (off by default), optionally for one segment
Parameters
idstringpathrequiredRequest body
application/json
enabledbooleanrequiredsegmentIdstring{
"enabled": true,
"segmentId": "string"
}Code samples
cURL
curl -X PUT "https://hermeticor.com/v1/integrations/connections/{id}/declarative/push" \
-H "Authorization: Bearer $HERMETICOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled":true,"segmentId":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
GET
https://hermeticor.com /v1/integrations/marketplace Catalogue packages, whether each passes signature and review checks, and the installed version
Code samples
cURL
curl -X GET "https://hermeticor.com/v1/integrations/marketplace" \
-H "Authorization: Bearer $HERMETICOR_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"configured": true,
"items": [
{
"id": "string",
"version": "string",
"name": "string",
"publisher": "string",
"summary": "string",
"reviewStatus": "string",
"installable": true,
"problem": "string",
"installedVersion": "string"
}
]
}Schema
configuredbooleanrequireditemsobject[]requiredShow child parameters
idstringrequiredversionstringrequirednamestringrequiredpublisherstringrequiredsummarystringrequiredreviewStatusstringrequiredinstallablebooleanrequiredproblemstringrequiredinstalledVersionstringrequiredUpdated