Изменение списка разрешенных отправителей рассылок на группы и подразделения

Обновляет список пользователей, групп и подразделений, имеющих право отправлять письма на адреса почтовых рассылок.

Поддерживает три типа операций:

  • grant — добавить новых отправителей;
  • revoke — удалить существующих отправителей;
  • overwrite — полностью заменить текущий список.

Для выполнения запроса требуется одно из перечисленных прав: ya360_admin:mail_read_mail_list_permissions или ya360_admin:mail_write_mail_list_permissions.

Request

POST

https://cloud-api.yandex.net/v1/admin/org/{org_id}/mail-lists/{mail_list_id}/update-permissions

Path parameters

Name

Description

mail_list_id

Type: string

Идентификатор рассылки.

Example: 1230000000000001

org_id

Type: string

Идентификатор организации.

Example: 1234567

Body

application/json
{
  "role_actions": [
    {
      "type": "grant",
      "roles": [
        "mail_list_sender"
      ],
      "subjects": [
        {
          "type": "user",
          "id": 1230000000000001,
          "org_id": 1234567
        }
      ]
    }
  ]
}

Name

Description

role_actions

Type: RoleActions

Массив операций с разрешениями RoleAction.

Example
[
  {
    "type": "grant",
    "roles": [
      "mail_list_sender"
    ],
    "subjects": [
      {
        "type": "user",
        "id": 1230000000000001,
        "org_id": 1234567
      }
    ]
  }
]

A360subjectType

Информация о субъекте, имеющем разрешение.

Name

Description

id

Type: integer

Идентификатор субъекта. Для типа anonymous — всегда null.

type

Type: string

Тип субъекта:

  • user — пользователь;
  • shared_mailbox — общий почтовый ящик;
  • group — группа;
  • department — подразделение;
  • organization — вся организация;
  • anonymous — любой пользователь.

Enum: organization, user, group, department, anonymous, shared_mailbox

org_id

Type: integer

Идентификатор организации (0 — если пользователь не относится ни к одной организации). Необязателен для anonymous.

Example
{
  "type": "user",
  "id": 1230000000000001,
  "org_id": 1234567
}

A360subjectArray

Массив объектов Subject с информацией о субъектах, имеющих разрешение.

Type: A360subjectType[]

Example
[
  {
    "type": "user",
    "id": 1230000000000001,
    "org_id": 1234567
  }
]

RoleActionItem

Массив операций с разрешениями RoleAction.

Name

Description

roles

Type: string[]

Всегда ["mail_list_sender"].

Example
[
  "mail_list_sender"
]

type

Type: string

Тип операции:

  • grant — добавить новых отправителей к существующему списку;
  • revoke — удалить указанных отправителей из списка;
  • overwrite — заменить текущий список для указанных типов субъектов.

При выполнении операции overwrite нужно заново указать всех разрешенных отправителей выбранных типов — текущие списки отправителей для этих типов будут удалены. Например, при выполнении overwrite для типа субъектов group (группа) будут удалены все существующие разрешения для групп и заново добавлены разрешения для тех групп, которые вы укажете в permissions-list.json. При этом списки других типов — например, пользователей — останутся без изменений после этой операции.

Enum: grant, revoke, overwrite

subjects

Type: A360subjectArray

Массив объектов Subject с информацией о субъектах, имеющих разрешение.

Example
[
  {
    "type": "user",
    "id": 1230000000000001,
    "org_id": 1234567
  }
]
Example
{
  "type": "grant",
  "roles": [
    "mail_list_sender"
  ],
  "subjects": [
    {
      "type": "user",
      "id": 1230000000000001,
      "org_id": 1234567
    }
  ]
}

RoleActions

Массив операций с разрешениями RoleAction.

Type: RoleActionItem[]

Example
[
  {
    "type": "grant",
    "roles": [
      "mail_list_sender"
    ],
    "subjects": [
      {
        "type": "user",
        "id": 1230000000000001,
        "org_id": 1234567
      }
    ]
  }
]

Responses

204 No Content

Список разрешенных отправителей обновлен.

400 Bad Request

Неверный формат запроса

Body

application/json
{
  "error": "bad_request",
  "description": "Неверный формат запроса",
  "message": "Неверный формат запроса",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Неверный формат запроса

error

Type: string

Код ошибки

Example: bad_request

message

Type: string

Сообщение об ошибке.

Example: Неверный формат запроса

details

Type: object

Дополнительные детали ошибки

Example
{}

403 Forbidden

Доступ запрещен

Body

application/json
{
  "error": "forbidden",
  "description": "Доступ запрещен",
  "message": "Доступ запрещен",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Доступ запрещен

error

Type: string

Код ошибки

Example: forbidden

message

Type: string

Сообщение об ошибке.

Example: Доступ запрещен

details

Type: object

Дополнительные детали ошибки

Example
{}

404 Not Found

Один из переданных параметров не существует

Body

application/json
{
  "error": "not_found",
  "description": "Один из переданных параметров не существует",
  "message": "Один из переданных параметров не существует",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Один из переданных параметров не существует

error

Type: string

Код ошибки

Example: not_found

message

Type: string

Сообщение об ошибке.

Example: Один из переданных параметров не существует

details

Type: object

Дополнительные детали ошибки

Example
{}

409 Conflict

Невозможно назначить права по какой-то причине (например, попытались назначить админом анонима или субъектов, принадлежащих разным организациям)

Body

application/json
{
  "error": "conflict",
  "description": "Невозможно назначить права по какой-то причине (например, попытались назначить админом анонима или субъектов, принадлежащих разным организациям)",
  "message": "Невозможно назначить права по какой-то причине (например, попытались назначить админом анонима или субъектов, принадлежащих разным организациям)",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Невозможно назначить права по какой-то причине (например, попытались назначить админом анонима или субъектов, принадлежащих разным организациям)

error

Type: string

Код ошибки

Example: conflict

message

Type: string

Сообщение об ошибке.

Example: Невозможно назначить права по какой-то причине (например, попытались назначить админом анонима или субъектов, принадлежащих разным организациям)

details

Type: object

Дополнительные детали ошибки

Example
{}