roles
GET
https://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[]requiredbaseRolesobjectrequiredrolesRolesItem[]requiredShow child parameters
idstringrequirednamestringrequiredbaseRolestringrequiredmatrixobjectrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectPUT
https://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
idstringpathrequiredRequest 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
idstringrequirednamestringrequiredbaseRolestringrequiredmatrixobjectrequiredGET
https://hermeticor.com /v1/user-groups Parameters
limitintegerqueryPage size; omitted returns the whole list
cursorstringqueryOpaque: the
nextCursor of the previous pageCode 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[]requiredShow child parameters
idstringrequirednamestringrequiredcustomRoleIdstringrequireduserIdsstring[]requiredcreatedAtstringrequirednextCursorstringrequiredPOST
https://hermeticor.com /v1/user-groups Request body
application/json
namestringrequiredcustomRoleIdstringrequireduserIdsstring[]{
"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
idstringrequirednamestringrequiredcustomRoleIdstringrequireduserIdsstring[]requiredcreatedAtstringrequiredGET
https://hermeticor.com /v1/user-groups/{id} Parameters
idstringpathrequiredCode 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
PUT
https://hermeticor.com /v1/user-groups/{id} Parameters
idstringpathrequiredRequest body
application/json
namestringcustomRoleIdstringuserIdsstring[]{
"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
DELETE
https://hermeticor.com /v1/user-groups/{id} Parameters
idstringpathrequiredCode 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
okbooleanrequiredPOST
https://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
deletedintegerrequiredGET
https://hermeticor.com /v1/user-groups/{id}/access Parameters
idstringpathrequiredCode 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
idstringrequiredlistIdsstring[]requiredlimitsobjectrequiredPUT
https://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
idstringpathrequiredRequest body
application/json
listIdsstring[]requiredlimitsobjectrequired{
"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
Updated