ai

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-ai"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/98a6220a-4faf-4bff-85cf-4938b3b52dbc/social-card.svg?v=3e7ae33eec8b" alt="ai" width="600" height="315"></a>
POSThttps://hermeticor.com/v1/ai/flow-builds/{id}/saved

Record which flow a build was saved as (the flow itself is created through /v1/workflows)

Parameters

idstringpathrequired

Request body

application/json
workflowIdstringrequired
{
  "workflowId": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/ai/flow-builds/{id}/saved" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflowId":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "description": "string",
  "definition": {},
  "errors": 0,
  "warnings": 0,
  "model": "string",
  "createdBy": "string",
  "workflowId": "string",
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
descriptionstringrequired
definitionrequired
errorsintegerrequired
warningsintegerrequired
modelstringrequired
createdBystringrequired
workflowIdstringrequired
createdAtstringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

POSThttps://hermeticor.com/v1/ai/bulk/first-lines

Write a personalised opening line for every row of a prospect list; poll GET /v1/ai/jobs/:id (or /v1/jobs/:id). Drafts only: nothing is sent

Request body

application/json
rowsRowsItem2[]required
Show child parameters
keystringrequired
prospectobject
= {}
Show child parameters
firstNamestring
companystring
titlestring
researchstring
fieldsobject
offerstring
{
  "rows": [
    {
      "key": "string",
      "prospect": {},
      "research": "",
      "fields": {}
    }
  ],
  "offer": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/ai/bulk/first-lines" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rows":[{"key":"string","prospect":{},"research":"","fields":{}}],"offer":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

202 Default Response
Example
{
  "id": "string",
  "kind": "first_line",
  "status": "queued",
  "total": 0,
  "processed": 0,
  "results": [
    {
      "key": "string",
      "text": "string",
      "error": "string"
    }
  ],
  "model": "string",
  "error": "string",
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
kindstringrequired
first_line | custom
statusstringrequired
queued | running | done | failed
totalintegerrequired
processedintegerrequired
resultsobject[]required
Show child parameters
keystringrequired
textstringrequired
errorstring
modelstringrequired
errorstringrequired
createdAtstringrequired
4XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

5XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

POSThttps://hermeticor.com/v1/ai/bulk/custom

Run your own prompt over each row (per-row AI research column)

Request body

application/json
rowsRowsItem2[]required
Show child parameters
keystringrequired
prospectobject
= {}
Show child parameters
firstNamestring
companystring
titlestring
researchstring
fieldsobject
promptstringrequired
{
  "rows": [
    {
      "key": "string",
      "prospect": {},
      "research": "",
      "fields": {}
    }
  ],
  "prompt": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/ai/bulk/custom" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rows":[{"key":"string","prospect":{},"research":"","fields":{}}],"prompt":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

202 Default Response

Same as 202 · POST /v1/ai/bulk/first-lines

4XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

5XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

GEThttps://hermeticor.com/v1/ai/jobs

Parameters

limitintegerquery
= 50
cursorstringquery

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/ai/jobs" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "kind": "first_line",
      "status": "queued",
      "total": 0,
      "processed": 0,
      "results": [
        {
          "key": "string",
          "text": "string",
          "error": "string"
        }
      ],
      "model": "string",
      "error": "string",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsPostV1AiBulkFirstLinesResponse[]required
Show child parameters
idstringrequired
kindstringrequired
first_line | custom
statusstringrequired
queued | running | done | failed
totalintegerrequired
processedintegerrequired
resultsobject[]required
Show child parameters
keystringrequired
textstringrequired
errorstring
modelstringrequired
errorstringrequired
createdAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

5XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

GEThttps://hermeticor.com/v1/ai/jobs/{id}

Parameters

idstringpathrequired

Code samples

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

Responses

200 Default Response

Same as 202 · POST /v1/ai/bulk/first-lines

4XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

5XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

POSThttps://hermeticor.com/v1/ai/sequence-draft

Draft a whole outreach sequence: creates one text template per email and returns SequenceSettings referencing them, ready to POST to /v1/outbound/sequences

Request body

application/json
briefstringrequired
stepsinteger
= 4
audiencestring
tonestring
namestring
{
  "brief": "string",
  "steps": 4,
  "audience": "string",
  "tone": "string",
  "name": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/ai/sequence-draft" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brief":"string","steps":4,"audience":"string","tone":"string","name":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "name": "string",
  "settings": {
    "steps": [],
    "schedule": {
      "weekdays": [
        1,
        2,
        3,
        4,
        5
      ],
      "startMin": 540,
      "endMin": 1020,
      "timezoneSource": "prospect",
      "timezone": "UTC"
    },
    "mailbox": {
      "sticky": true,
      "onUnavailable": "pause"
    },
    "dailyNewLimit": 0,
    "followUpPercent": 0,
    "plainTextOnly": true,
    "trackOpens": true,
    "unsubscribeText": "string",
    "spintaxMode": "random",
    "variables": {},
    "blocklist": {
      "emails": [],
      "domains": []
    },
    "reviewBeforeSend": true,
    "reviewEachMessage": true,
    "stop": {
      "onReply": "human",
      "onAutoReply": "continue",
      "onOoo": "pause_until_return",
      "onCompanyReply": "none"
    },
    "onCategory": [
      {
        "category": "positive",
        "sequenceId": "string",
        "stopCurrent": true
      }
    ],
    "ownerUserId": "string",
    "scheduleId": "string",
    "dedupe": {
      "crossSequence": "skip",
      "contactedWithinDays": 0,
      "domain": false
    },
    "startAt": "2024-01-01T00:00:00Z",
    "minGapMinutes": 0,
    "senderOverrides": {},
    "abm": {
      "maxPerAccount": 5,
      "onAccountReply": "stop"
    }
  },
  "templates": [
    {
      "id": "string",
      "subject": "string"
    }
  ],
  "draft": true,
  "model": "string"
}
Schema
namestringrequired
settingsobjectrequired
Show child parameters
stepsStepsItem3[]required
= []
scheduleobjectrequired
= {"weekdays":[1,2,3,4,5],"startMin":540,"endMin":1020,"timezoneSource":"prospect","timezone":"UTC"}
Show child parameters
weekdaysinteger[]required
= [1,2,3,4,5]
startMinintegerrequired
= 540
endMinintegerrequired
= 1020
timezoneSourcestringrequired
prospect | sequence = prospect
timezonestringrequired
= UTC
mailboxobjectrequired
= {"sticky":true,"onUnavailable":"pause"}
Show child parameters
poolIdstring
connectionIdstring
stickybooleanrequired
= true
onUnavailablestringrequired
pause | reassign = pause
dailyNewLimitinteger
followUpPercentinteger
plainTextOnlyboolean
trackOpensboolean
unsubscribeTextstring
spintaxModestring
random | sequential
variablesobject
blocklistobject
Show child parameters
emailsobject[]required
= []
domainsstring[]required
= []
reviewBeforeSendboolean
reviewEachMessageboolean
stopobjectrequired
= {"onReply":"human","onAutoReply":"continue","onOoo":"pause_until_return","onCompanyReply":"none"}
Show child parameters
onReplystringrequired
human | any = human
onAutoReplystringrequired
continue | pause = continue
onOoostringrequired
pause_until_return | continue | stop = pause_until_return
onCompanyReplystringrequired
none | stop | pause = none
onCategoryOnCategoryItem2[]
Show child parameters
categorystringrequired
positive | negative | neutral | ooo | auto_reply | bounce | unsubscribe | meeting | wrong_person
sequenceIdstringrequired
stopCurrentbooleanrequired
= true
ownerUserIdstring
scheduleIdstring
dedupeobjectrequired
= {"crossSequence":"skip","contactedWithinDays":0,"domain":false}
Show child parameters
crossSequencestringrequired
skip | allow = skip
contactedWithinDaysintegerrequired
= 0
domainbooleanrequired
= false
startAtstring
minGapMinutesinteger
senderOverridesobject
abmobject
Show child parameters
maxPerAccountintegerrequired
= 5
onAccountReplystringrequired
none | stop | pause = stop
templatesobject[]required
Show child parameters
idstringrequired
subjectstringrequired
draftbooleanrequired
true
modelstringrequired
4XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

5XX Default Response

Same as 4XX · POST /v1/ai/flow-builds/{id}/saved

Updated