Разрешения
Разрешения
Управляйте тем, к чему имеют доступ ваши API-ключи, с помощью гранулярных разрешений.
Что такое разрешения?
Permissions позволяют ограничить, что может делать API-ключ. По умолчанию ключ имеет полный доступ в пределах своей области (организация, pod или inbox). Если вы передаёте объект permissions, он работает как белый список: разрешены только те права, которые явно установлены в true. Всё остальное запрещено.
Так вы получаете точный контроль над ресурсами и операциями для каждого ключа — поверх уже существующей изоляции по области для ключей с областью pod и ключей с областью inbox.
Как работают разрешения
Модель белого списка
При создании API-ключа с объектом permissions режим переключается с «полного доступа» на «белый список»:
- Без поля
permissions: ключ имеет полный доступ в пределах своей области. Это поведение по умолчанию и обратно совместимо с уже существующими ключами. - Если
permissionsуказан: разрешены только права, выставленные вtrue. Любое право, которое опущено или равноfalse, запрещено.
Обратная совместимость
У существующих API-ключей без поля permissions всё работает как раньше — полный доступ. Белый список включается только когда вы явно передаёте объект permissions.
Пересечение с областью (scope)
Разрешения пересекаются с областью ключа. Ключ, ограниченный одним inbox, не получит возможностей уровня организации (например inbox_create или domain_create), даже если в permissions они true. Эффективные права — это пересечение того, что допускает область, и того, что даёт объект permissions.
Защита от повышения привилегий
Ограниченный API-ключ не может создать дочерний ключ с большими правами, чем у него самого. При создании нового ключа права потомка автоматически ограничиваются эффективными правами родителя. Так нельзя повысить привилегии через создание ключей.
Справочник разрешений
Inbox
Треды (Threads)
Сообщения (Messages)
Видимость меток (Label visibility)
Если разрешение на видимость метки запрещено, элементы с этой меткой автоматически исключаются из списков и при прямом обращении возвращается «не найдено». Например, при label_spam_read: false ключ никогда не увидит спам ни в списках, ни при поиске.
Черновики (Drafts)
Вебхуки (Webhooks)
Домены (Domains)
Списки (Lists)
Метрики (Metrics)
API-ключи
Pod
Примеры кода
Ключ только на чтение
Создайте API-ключ, который может читать все ресурсы, но не создавать, не обновлять и не удалять.
Ключ без спама
Создайте ключ с полным доступом, но без видимости контента в spam, blocked и trash. Удобно для ключей агентов, чтобы они не обрабатывали нежелательную почту.
Скопировать в Cursor / Claude
Скопируйте один из блоков ниже в Cursor или Claude, чтобы дать полный контекст по API разрешений за один раз.
Рекомендации
- Принцип минимальных привилегий. Выдавайте только те права, которые реально нужны агенту. Саппорт-агенту, который читает и отвечает на письма, не нужны
domain_createилиinbox_delete. - Сочетайте с областями для защиты в глубину. Используйте вместе с ключами с областью pod или ключами с областью inbox. Область ограничивает какие ресурсы видит ключ, а разрешения — что он может с ними делать.
- Отсекайте нежелательный контент для агентов. Для ключей агентов ставьте
label_spam_read,label_blocked_readиlabel_trash_readвfalse, чтобы агенты не видели и не обрабатывали ненужную почту и сохраняли чистый контекст.
