workflows

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-workflows"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/27c987c7-83e1-4744-b0ce-54b59acc4526/social-card.svg?v=3e7ae33eec8b" alt="workflows" width="600" height="315"></a>
PUThttps://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/content

Edit a step of a running journey; apply=waiting also moves people already inside onto the new version

Parameters

idstringpathrequired
nodeIdstringpathrequired

Request body

application/json
configobjectrequired
applystring
new_entrants | waiting = new_entrants
{
  "config": {},
  "apply": "new_entrants"
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/content" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"config":{},"apply":"new_entrants"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "version": {
    "id": "string",
    "workflowId": "string",
    "n": 0,
    "graph": {},
    "trigger": {},
    "settings": {},
    "checksum": "string",
    "publishedAt": "2024-01-01T00:00:00Z",
    "publishedBy": "string"
  },
  "moved": 0,
  "exited": 0
}
Schema
versionobjectrequired
Show child parameters
idstringrequired
workflowIdstringrequired
nintegerrequired
graphrequired
triggerrequired
settingsrequired
checksumstringrequired
publishedAtstringrequired
publishedBystringrequired
movedintegerrequired
exitedintegerrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
POSThttps://hermeticor.com/v1/workflows/{id}/draft/nodes

Add one action to the draft; it must pass the same graph validation as a full save

Parameters

idstringpathrequired

Request body

application/json
idstring
typestringrequired
configobject
= {}
positionobject
Show child parameters
xnumberrequired
ynumberrequired
afterobject
Show child parameters
nodeIdstringrequired
handlestring
= next
{
  "id": "string",
  "type": "string",
  "config": {},
  "position": {
    "x": 0,
    "y": 0
  },
  "after": {
    "nodeId": "string",
    "handle": "next"
  }
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/workflows/{id}/draft/nodes" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"string","type":"string","config":{},"position":{"x":0,"y":0},"after":{"nodeId":"string","handle":"next"}}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "nodeId": "string",
  "validation": {
    "ok": true,
    "errors": [
      {
        "severity": "error",
        "code": "string",
        "message": "string",
        "nodeId": "string",
        "fix": "string"
      }
    ],
    "warnings": [
      {
        "severity": "error",
        "code": "string",
        "message": "string",
        "nodeId": "string",
        "fix": "string"
      }
    ]
  }
}
Schema
nodeIdstringrequired
validationobjectrequired
Show child parameters
okbooleanrequired
errorsErrorsItem[]required
Show child parameters
severitystringrequired
error | warning
codestringrequired
messagestringrequired
nodeIdstring
fixstring
warningsErrorsItem[]required
Show child parameters
severitystringrequired
error | warning
codestringrequired
messagestringrequired
nodeIdstring
fixstring
DELETEhttps://hermeticor.com/v1/workflows/{id}/draft/nodes/{nodeId}

Remove one action from the draft (single-exit steps are bypassed)

Parameters

idstringpathrequired
nodeIdstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/workflows/{id}/draft/nodes/{nodeId}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true,
  "errors": [
    {
      "severity": "error",
      "code": "string",
      "message": "string",
      "nodeId": "string",
      "fix": "string"
    }
  ],
  "warnings": [
    {
      "severity": "error",
      "code": "string",
      "message": "string",
      "nodeId": "string",
      "fix": "string"
    }
  ]
}
Schema
okbooleanrequired
errorsErrorsItem[]required
Show child parameters
severitystringrequired
error | warning
codestringrequired
messagestringrequired
nodeIdstring
fixstring
warningsErrorsItem[]required
Show child parameters
severitystringrequired
error | warning
codestringrequired
messagestringrequired
nodeIdstring
fixstring
POSThttps://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/pause

Parameters

idstringpathrequired
nodeIdstringpathrequired

Request body

application/json
modestring
wait | skip | review = wait
{
  "mode": "wait"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/pause" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"wait"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "nodeId": "string",
  "type": "string",
  "config": {},
  "status": "live",
  "pauseMode": "wait",
  "entered": 0,
  "completed": 0,
  "errors": 0,
  "queued": 0
}
Schema
nodeIdstringrequired
typestringrequired
configrequired
statusstringrequired
live | paused
pauseModestringrequired
wait | skip | review
enteredintegerrequired
completedintegerrequired
errorsintegerrequired
queuedintegerrequired
POSThttps://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/resume

Parameters

idstringpathrequired
nodeIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/resume" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

GEThttps://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/queue

Subscribers currently at this step

Parameters

limitintegerquery
= 50
cursorstringquery
profileIdstringquery
emailstringquery
idstringpathrequired
nodeIdstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/queue" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "stuckReason": "schedule_lost",
      "profileEmail": "string",
      "lastError": "string"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem63[]required
Show child parameters
idstringrequired
stuckReasonstring
schedule_lost | overdue | failed | paused | awaiting_signal
profileEmailstring
lastErrorstring
nextCursorstringrequired
POSThttps://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/queue

Enrol subscribers and land them on this step

Parameters

idstringpathrequired
nodeIdstringpathrequired

Request body

application/json
profileIdsstring[]required
{
  "profileIds": [
    "string"
  ]
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/workflows/{id}/nodes/{nodeId}/queue" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileIds":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "enrolled": 0,
  "skipped": [
    {
      "profileId": "string",
      "reason": "string"
    }
  ],
  "queued": true
}
Schema
enrolledintegerrequired
skippedSkippedItem[]required
Show child parameters
profileIdstringrequired
reasonstringrequired
queuedboolean

Updated