---
title: "Пригласить пачку людей с одной ролью"
method: POST
path: "/api/v1/invitations/batch"
tags: ["Invitations"]
---

# Пригласить пачку людей с одной ролью

`POST /api/v1/invitations/batch`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/invitations/batch`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)

До 100 почт с одной ролью. Для каждой почты находится действующая карточка «Команды» с этой рабочей почтой или заводится новая без доступа (имя необязательно: без него карточка временно носит почту и после принятия получает имя, которое человек впишет при регистрации). Затем выпускается приглашение — письмом или, с send_email false, ссылкой в invite_url строки. Строки обрабатываются независимо, ответ 200 называет исход каждой: invited, link, duplicate (та же почта выше в списке) или error с кодом. Почта карточки из уволенных — ошибка invitations.employee_dismissed.

## Headers

- `X-Tenant` string, required

## Request body

- InvitationBatchInput
  - `role_id` string, uuid, required
  - `send_email` boolean: false — без писем, ссылка в invite_url каждой строки
  - `access_until` string, date, nullable: Последний день доступа ГГГГ-ММ-ДД для всей пачки; пусто — бессрочно
  - `affiliation` 'own' | 'external' | 'guest': own — свои (умолчание), external — внешние участники, guest — гости-подрядчики от одной организации: новые карточки заводятся с этой принадлежностью, найденные свои помечаются ею. Принятому в штат строка отвечает invitations.employee_hired. Гость места тарифа не занимает и видит только задачи, чаты и папки, куда его позвали
  - `organization_contact_id` string, uuid, nullable: Контрагент-организация внешних участников и гостей (юрлицо или ИП кабинета); обязателен при affiliation external и guest, иначе 400 invitations.affiliation_invalid
  - `people` object[], required
    - `email` string, required
    - `first_name` string
    - `last_name` string
    - `middle_name` string

## Response `200`

Отчёт по строкам

- InvitationBatchResult
  - `rows` object[], required
    - `index` integer, required
    - `email` string, required
    - `status` 'invited' | 'link' | 'duplicate' | 'error', required
    - `code` string: Код отказа: invitations.email_invalid, invitations.employee_dismissed, invitations.employee_hired, invitations.affiliation_invalid, invitations.seat_limit, invitations.delivery_failed и другие
    - `detail` string
    - `invitation_id` string, uuid
    - `employee_id` string, uuid
    - `employee_created` boolean, required: Карточку «Команды» завели этим вызовом
    - `invite_url` string: Ссылка строки при отправке без письма
  - `invited` integer, required
  - `links` integer, required
  - `skipped` integer, required
  - `failed` integer, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `503`: Справочник сотрудников недоступен

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/3c60ded179f2?raw)
