roles

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-roles"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/65296d31-640e-4e0d-b4cb-d3494da0e34f/social-card.svg?v=3e7ae33eec8b" alt="roles" width="600" height="315"></a>
GEThttps://hermeticor.com/v1/roles/matrix

Module x read/write grid for every base role and custom role (the effective scopes the route checks enforce)

Code samples

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

Responses

200 Default Response
Example
{
  "modules": [
    "string"
  ],
  "baseRoles": {},
  "roles": [
    {
      "id": "string",
      "name": "string",
      "baseRole": "string",
      "matrix": {}
    }
  ]
}
Schema
modulesstring[]required
baseRolesobjectrequired
rolesRolesItem[]required
Show child parameters
idstringrequired
namestringrequired
baseRolestringrequired
matrixobjectrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · GET /v1/roles/matrix

PUThttps://hermeticor.com/v1/roles/{id}/matrix

Set a custom role's per-module read/write; write implies read. You cannot grant a module you cannot write yourself

Parameters

idstringpathrequired

Request body

application/json
matrixobjectrequired
{
  "matrix": {}
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/roles/{id}/matrix" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"matrix":{}}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "name": "string",
  "baseRole": "string",
  "matrix": {}
}
Schema
idstringrequired
namestringrequired
baseRolestringrequired
matrixobjectrequired
4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

GEThttps://hermeticor.com/v1/user-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/user-groups" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "customRoleId": "string",
      "userIds": [
        "string"
      ],
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem152[]required
Show child parameters
idstringrequired
namestringrequired
customRoleIdstringrequired
userIdsstring[]required
createdAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

POSThttps://hermeticor.com/v1/user-groups

Request body

application/json
namestringrequired
customRoleIdstringrequired
userIdsstring[]
= []
{
  "name": "string",
  "customRoleId": "string",
  "userIds": []
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/user-groups" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","customRoleId":"string","userIds":[]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "customRoleId": "string",
  "userIds": [
    "string"
  ],
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
namestringrequired
customRoleIdstringrequired
userIdsstring[]required
createdAtstringrequired
4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

GEThttps://hermeticor.com/v1/user-groups/{id}

Parameters

idstringpathrequired

Code samples

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

Responses

200 Default Response

Same as 201 · POST /v1/user-groups

4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

PUThttps://hermeticor.com/v1/user-groups/{id}

Parameters

idstringpathrequired

Request body

application/json
namestring
customRoleIdstring
userIdsstring[]
{
  "name": "string",
  "customRoleId": "string",
  "userIds": [
    "string"
  ]
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/user-groups/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","customRoleId":"string","userIds":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 201 · POST /v1/user-groups

4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

DELETEhttps://hermeticor.com/v1/user-groups/{id}

Parameters

idstringpathrequired

Code samples

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

Responses

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

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

POSThttps://hermeticor.com/v1/user-groups/bulk-delete

Delete up to 100 user groups in one transaction

Request body

application/json
idsstring[]required
{
  "ids": [
    "string"
  ]
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/user-groups/bulk-delete" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "deleted": 0
}
Schema
deletedintegerrequired
4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

GEThttps://hermeticor.com/v1/user-groups/{id}/access

Parameters

idstringpathrequired

Code samples

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

Responses

200 Default Response
Example
{
  "id": "string",
  "listIds": [
    "string"
  ],
  "limits": {}
}
Schema
idstringrequired
listIdsstring[]required
limitsobjectrequired
4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

PUThttps://hermeticor.com/v1/user-groups/{id}/access

Lists the group's members may reach (null = the group does not limit lists) and caps such as sends per day

Parameters

idstringpathrequired

Request body

application/json
listIdsstring[]required
limitsobjectrequired
{
  "listIds": [
    "string"
  ],
  "limits": {}
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/user-groups/{id}/access" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"listIds":["string"],"limits":{}}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · GET /v1/user-groups/{id}/access

4XX Default Response

Same as 4XX · GET /v1/roles/matrix

5XX Default Response

Same as 4XX · GET /v1/roles/matrix

Updated