---
title: "Синхронизировать ящик по требованию"
method: POST
path: "/api/v1/mail/accounts/{id}/sync"
tags: ["Mail accounts"]
---

# Синхронизировать ящик по требованию

`POST /api/v1/mail/accounts/{id}/sync`

## Request

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

Быстрая проверка ящика: «Входящие» и названная папка (folder_id) не дольше 20 секунд, с переносом прочтения и удалений, сделанных в другом клиенте. Остальные папки, история и прогрев тел уходят фоновым проходом сразу следом. Ящик, который уже проверяется, или проверка, не успевшая в срок, отвечают 200 со state = running: письма появятся сами, это не ошибка. Выключенный ящик — 409 mail.account_disabled, ящик без сохранённого пароля — 409 mail.not_connected. Отчёт возвращается и тогда, когда нового ничего нет: «ничего не изменилось» — тоже ответ.

## Query parameters

- `folder_id` string, uuid

## Response `200`

Итог прохода по ящику

- MailSyncReport: Итог одного прохода по ящику: «ничего не изменилось» — тоже ответ
  - `account_id` string, uuid, required
  - `folders` integer, required: Сколько папок прочитано
  - `new_messages` integer, required
  - `rules_applied` integer, required: Сколько писем разобрали правила
  - `finished_at` string, date-time, required
  - `full_reloaded` string[]: Папки, перечитанные целиком после смены UIDVALIDITY на сервере
  - `failed_folders` string[]: Папки, которые в этот проход прочитать не удалось; остальные разобраны
  - `updated` integer: Письма, у которых проход перенёс с сервера прочтение, отметку или удаление из другого клиента
  - `state` 'done' | 'running': Только у проверки по требованию: done — проверено, running — ящик проверяется фоном и письма появятся сами
  - `partial` boolean: Проверка по требованию успела не все свои папки; остальное доделает фон

## Other responses

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

---

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