Перейти к документации
API

Список разрешений

Весь словарь, с фразой и заголовком, под которым отрисовывается каждая запись.

GETapi.openemail.uk/roles/permissions

Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.

GET /roles/permissions

Весь словарь, с фразой и заголовком, под которым отрисовывается каждая запись.

Пример

Требует roles:read. Константа, один и тот же ответ для любого рабочего пространства, и именно этот список нужно брать за основу матрицы, а не переписывать его в собственный код.

curl
curl "$OE/roles/permissions" -H "$AUTH"
Ответ
{  "object": "list",  "data": [    {      "object": "permission",      "id": "emails:send",      "label": "Send email",      "group": "mail",      "scope": true    },    {      "object": "permission",      "id": "members:write",      "label": "Add and remove people, and change what they can reach",      "group": "people",      "scope": true    },    {      "object": "permission",      "id": "api-keys:write",      "label": "Create and revoke API keys",      "group": "developer",      "scope": false    },    {      "object": "permission",      "id": "workspace:manage",      "label": "Rename the workspace, remove domains and delete it",      "group": "workspace",      "scope": false    }  ]}

Зарегистрирован ПЕРЕД /roles/{id}, иначе permissions читается как идентификатор роли и каждый запрос к нему отдаёт 404. Над /rules/runs стоит та же пометка, а над /tracking/stats — ещё одна, и обе написаны после одной и той же ошибки. Запрос роли, действительно названной «permissions», поэтому запрашивает роль и получает 404, что и есть честный ответ на набранное.

scope говорит, может ли КЛЮЧ API вообще держать это разрешение. Пять не могут (api-keys:read, api-keys:write, billing:read, billing:write и workspace:manage), потому что для них нет ни одного эндпоинта, а ключ — не человек. Этот флаг и позволяет одному компоненту отрисовывать и матрицу ролей, и список галочек при создании ключа, вместо второй вручную поддерживаемой копии того, что есть что.

Отдаётся, а не переписывается, по той же причине, что и список полей правил: матрица, построенная из скопированного массива, продолжает предлагать переименованное разрешение и никогда не предлагает добавленное на прошлой неделе. group — это заголовок, под которым запись отрисовывается, и он откатывается к other, а не уходит неопределённым. Разрешение, которого никто не видит, — это разрешение, которое никто не проверяет.

Порядок канонический: это тот же порядок, в котором возвращается массив permissions сохранённой роли, поэтому клиент, отрисовывающий этот список, и клиент, отрисовывающий роль, показывают одни и те же разрешения в одной последовательности.

Никакой обёртки, кроме object и data. Словарь закрыт и короток, поэтому здесь нет ни курсора, ни hasMore, в отличие от любого другого списка в API.