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>
POSThttps://hermeticor.com/v1/agency/groups

Request body

application/json
namestringrequired
workspaceIdsstring[]
= []
{
  "name": "string",
  "workspaceIds": []
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/agency/groups" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","workspaceIds":[]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "workspaceIds": [
    "string"
  ],
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
namestringrequired
workspaceIdsstring[]required
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/agency/groups

GEThttps://hermeticor.com/v1/agency/groups/{groupId}

Parameters

groupIdstringpathrequired

Code samples

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

Responses

200 Default Response

Same as 201 · POST /v1/agency/groups

4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

PUThttps://hermeticor.com/v1/agency/groups/{groupId}

Rename a group and/or replace its members

Parameters

groupIdstringpathrequired

Request body

application/json
namestring
workspaceIdsstring[]
{
  "name": "string",
  "workspaceIds": [
    "string"
  ]
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/agency/groups/{groupId}" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","workspaceIds":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 201 · POST /v1/agency/groups

4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

DELETEhttps://hermeticor.com/v1/agency/groups/{groupId}

Parameters

groupIdstringpathrequired

Code samples

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

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

POSThttps://hermeticor.com/v1/agency/groups/{groupId}/unlink

Parameters

groupIdstringpathrequired

Request body

application/json
workspaceIdsstring[]required
{
  "workspaceIds": [
    "string"
  ]
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/agency/groups/{groupId}/unlink" \
  -H "Content-Type: application/json" \
  -d '{"workspaceIds":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 201 · POST /v1/agency/groups

4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

PUThttps://hermeticor.com/v1/agency/quota

Set the monthly send cap on many clients at once (explicit workspaces and/or a group)

Request body

application/json
sendsEmailintegerrequired
sendsSmsintegerrequired
workspaceIdsstring[]
groupIdstring
{
  "sendsEmail": 0,
  "sendsSms": 0,
  "workspaceIds": [
    "string"
  ],
  "groupId": "string"
}

Code samples

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

Responses

200 Default Response
Example
{
  "updated": 0,
  "workspaceIds": [
    "string"
  ]
}
Schema
updatedintegerrequired
workspaceIdsstring[]required
4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

POSThttps://hermeticor.com/v1/agency/clients/{workspaceId}/api-keys

Mint an API key inside a client workspace; the key is bound to that client and audited there. Plaintext is returned once

Parameters

workspaceIdstringpathrequired

Request body

application/json
namestringrequired
kindstringrequired
secret | site
scopesstring[]
= []
allowedOriginsstring[]
allowedDomainsstring[]
allowedConnectionIdsstring[]
allowedSequenceIdsstring[]
rateLimitPerMininteger
{
  "name": "string",
  "kind": "secret",
  "scopes": [],
  "allowedOrigins": [
    "string"
  ],
  "allowedDomains": [
    "string"
  ],
  "allowedConnectionIds": [
    "string"
  ],
  "allowedSequenceIds": [
    "string"
  ],
  "rateLimitPerMin": 0
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/agency/clients/{workspaceId}/api-keys" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","kind":"secret","scopes":[],"allowedOrigins":["string"],"allowedDomains":["string"],"allowedConnectionIds":["string"],"allowedSequenceIds":["string"],"rateLimitPerMin":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "kind": "secret",
  "prefix": "string",
  "scopes": [
    "string"
  ],
  "allowedOrigins": [
    "string"
  ],
  "allowedDomains": [
    "string"
  ],
  "allowedConnectionIds": [
    "string"
  ],
  "allowedSequenceIds": [
    "string"
  ],
  "rateLimitPerMin": 0,
  "lastUsedAt": "2024-01-01T00:00:00Z",
  "revokedAt": "2024-01-01T00:00:00Z",
  "createdAt": "2024-01-01T00:00:00Z",
  "plaintext": "string"
}
Schema
idstringrequired
namestringrequired
kindstringrequired
secret | site
prefixstringrequired
scopesstring[]required
allowedOriginsstring[]required
allowedDomainsstring[]
allowedConnectionIdsstring[]
allowedSequenceIdsstring[]
rateLimitPerMininteger
lastUsedAtstringrequired
revokedAtstringrequired
createdAtstringrequired
plaintextstringrequired
4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

GEThttps://hermeticor.com/v1/agency/clients/by-month

Client workspaces created per month

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/clients/by-month"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "month": "string",
      "clients": 0
    }
  ],
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
monthstringrequired
clientsintegerrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

POSThttps://hermeticor.com/v1/agency/move-sequence

Hand a sequence or journey to a client: it is copied into the client workspace as a draft, then archived here. Templates, segments and mailboxes do not travel; the result lists what to re-link.

Request body

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

Code samples

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

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "note": "string"
}
Schema
idstringrequired
namestringrequired
notestringrequired
4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

POSThttps://hermeticor.com/v1/agency/move-mailbox

Move a connected mailbox to a client workspace: reconnected there with its credentials re-sealed, then archived here. Sender identities, pools and warm-up history start fresh.

Request body

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

Code samples

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

Responses

201 Default Response

Same as 201 · POST /v1/agency/move-sequence

4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

POSThttps://hermeticor.com/v1/agency/clients/{workspaceId}/handoff

Single-use login link into a client workspace (valid 5 minutes, audited in the client workspace)

Parameters

workspaceIdstringpathrequired

Code samples

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

Responses

201 Default Response
Example
{
  "url": "string",
  "token": "string",
  "expiresAt": "2024-01-01T00:00:00Z"
}
Schema
urlstringrequired
tokenstringrequired
expiresAtstringrequired
4XX Default Response

Same as 4XX · POST /v1/agency/groups

5XX Default Response

Same as 4XX · POST /v1/agency/groups

Updated