---
title: "Получить почтовые ящики сотрудника"
method: GET
path: "/api/v1/mail/accounts"
tags: ["Mail accounts"]
---

# Получить почтовые ящики сотрудника

`GET /api/v1/mail/accounts`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/mail/accounts`
- 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`)

Видны личные ящики текущего сотрудника, общие ящики отдела и — у того, кому роль разрешает видеть все записи ресурса mail.account, — все ящики кабинета. Пароль подключения не возвращается ни здесь, ни где-либо ещё: его наличие показывает признак has_credentials.

## Headers

- `X-Tenant` string, required

## Response `200`

Доступные сотруднику ящики

- object
  - `items` MailAccount[], required
    - `id` string, uuid, required
    - `owner_user_id` integer, required: Сотрудник, которому принадлежит ящик
    - `shared` boolean, required: Общий ящик виден каждому сотруднику кабинета с правом mail:read (или участникам бизнеса business_id); личный — владельцу и поимённо названным в shared_with. Право видеть все записи чтения чужого ящика не даёт
    - `business_id` string, uuid, required
    - `shared_with` integer[], required: Сотрудники, которым ящик открыт поимённо, поверх правила access_scope. Всегда список: пустой — поимённо никому
    - `access_scope` 'personal' | 'users' | 'cabinet' | 'business', required: Кому виден ящик кроме владельца: personal — никому; users — только сотрудникам из shared_with; cabinet — каждому сотруднику кабинета с mail:read; business — сотрудникам с mail:read, чья область касается business_id
    - `email` string, required
    - `display_name` string, required
    - `notification_mode` 'all' | 'important' | 'off', required: Уведомления владельца ящика о новой почте: все письма, только важные отправители или выключено
    - `imap_host` string, required
    - `imap_port` integer, required
    - `imap_encryption` 'tls' | 'starttls', required: Режим шифрования канала. Открытого соединения без TLS в перечне нет намеренно: пароль от почты в открытом канале не передаётся.
    - `smtp_host` string, required
    - `smtp_port` integer, required
    - `smtp_encryption` 'tls' | 'starttls', required: Режим шифрования канала. Открытого соединения без TLS в перечне нет намеренно: пароль от почты в открытом канале не передаётся.
    - `username` string, required: Логин подключения; по умолчанию равен адресу
    - `has_credentials` boolean, required: Пароль приложения сохранён. Самого пароля не отдаёт ни одна операция
    - `status` 'active' | 'disabled' | 'error', required: Состояние ящика. disabled ставит человек, error — воркер синхронизации; разделение нужно, чтобы починка пароля не воскрешала ящик, который владелец выключил сознательно.
    - `sync_status` 'never' | 'ok' | 'running' | 'failed', required: Состояние последней синхронизации ящика
    - `sync_since_days` integer, required: Глубина первичного импорта в днях; ноль означает весь ящик
    - `signature` string, required: Подпись, подставляемая в исходящие письма
    - `last_sync_at` string, date-time, nullable, required
    - `last_error` string, required: Последняя ошибка подключения для человека
    - `last_error_code` string, required: Машинный код последней ошибки подключения, например mail.account.credentials_rejected; пусто, когда ошибки нет
    - `unread_count` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

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

---

[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)
