agency

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-agency"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/d6096380-dd79-4ee6-8cf7-ad5c6d7beaf6/social-card.svg?v=3e7ae33eec8b" alt="agency" width="600" height="315"></a>
PUThttps://hermeticor.com/v1/agency/clients/{workspaceId}/quota

Monthly send cap for one client (null lifts it); it can only tighten the client's plan limit

Parameters

workspaceIdstringpathrequired

Request body

application/json
sendsEmailintegerrequired
sendsSmsintegerrequired
{
  "sendsEmail": 0,
  "sendsSms": 0
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/agency/clients/{workspaceId}/quota" \
  -H "Content-Type: application/json" \
  -d '{"sendsEmail":0,"sendsSms":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "sendsEmail": 0,
  "sendsSms": 0
}
Schema
sendsEmailintegerrequired
sendsSmsintegerrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
GEThttps://hermeticor.com/v1/agency/clients/{workspaceId}/modules

Which modules this client may use (the rest are switched off)

Parameters

workspaceIdstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/agency/clients/{workspaceId}/modules"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "modules": [
    {
      "key": "string",
      "label": "string"
    }
  ],
  "disabled": [
    "string"
  ]
}
Schema
modulesobject[]required
Show child parameters
keystringrequired
labelstringrequired
disabledstring[]required
PUThttps://hermeticor.com/v1/agency/clients/{workspaceId}/modules

Switch client modules off or on; takes effect within 30 seconds on every instance

Parameters

workspaceIdstringpathrequired

Request body

application/json
disabledstring[]required
{
  "disabled": [
    "string"
  ]
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/agency/clients/{workspaceId}/modules" \
  -H "Content-Type: application/json" \
  -d '{"disabled":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

GEThttps://hermeticor.com/v1/agency/members

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/agency/members"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "userId": "string",
      "email": "string",
      "name": "string",
      "role": "string"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem138[]required
Show child parameters
userIdstringrequired
emailstringrequired
namestringrequired
rolestringrequired
nextCursorstringrequired
POSThttps://hermeticor.com/v1/agency/members

Add or re-role agency staff; the role cascades into every client workspace

Request body

application/json
emailstringrequired
rolestringrequired
admin | marketer | sales | analyst | viewer
{
  "email": "string",
  "role": "admin"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/agency/members" \
  -H "Content-Type: application/json" \
  -d '{"email":"string","role":"admin"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
GEThttps://hermeticor.com/v1/agency/members/{userId}

Parameters

userIdstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/agency/members/{userId}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "userId": "string",
  "email": "string",
  "name": "string",
  "role": "string"
}
Schema
userIdstringrequired
emailstringrequired
namestringrequired
rolestringrequired
DELETEhttps://hermeticor.com/v1/agency/members/{userId}

Parameters

userIdstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/agency/members/{userId}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · POST /v1/agency/members

POSThttps://hermeticor.com/v1/agency/copy-template

Copy a template (current version) from the current workspace into a client workspace

Request body

application/json
targetWorkspaceIdstringrequired
sourceIdstringrequired
{
  "targetWorkspaceId": "string",
  "sourceId": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/agency/copy-template" \
  -H "Content-Type: application/json" \
  -d '{"targetWorkspaceId":"string","sourceId":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "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
idstringrequired
namestringrequired
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
POSThttps://hermeticor.com/v1/agency/copy-workflow

Copy a flow into a client workspace as a draft. Template/segment/connection references do not travel: the returned validation lists what to re-link.

Request body

application/json
targetWorkspaceIdstringrequired
sourceIdstringrequired
{
  "targetWorkspaceId": "string",
  "sourceId": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/agency/copy-workflow" \
  -H "Content-Type: application/json" \
  -d '{"targetWorkspaceId":"string","sourceId":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response

Same as 201 · POST /v1/agency/copy-template

GEThttps://hermeticor.com/v1/agency/groups

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/agency/groups"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "workspaceIds": [
        "string"
      ],
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem151[]required
Show child parameters
idstringrequired
namestringrequired
workspaceIdsstring[]required
createdAtstringrequired
nextCursorstringrequired

Updated