API
HTTP и JSON. Адрес: https://mailyzer.ru/v1
Ключ
Ключ создаётся в кабинете и передаётся в заголовке. Ключ показывается один раз. Ключом нельзя создавать другие ключи и менять пароль аккаунта. Без действующего доступа API отвечает 402.
Authorization: Bearer mz_…Код за три запроса
Создать ящик, указать адрес на сайте, опрашивать код раз в несколько секунд.
curl -X POST https://mailyzer.ru/v1/boxes \
-H "Authorization: Bearer $MAILYZER_KEY" -H "Content-Type: application/json" \
-d '{"n": 1, "note": "steam"}'
# → {"boxes": [{"id": 17, "address": "k.sokolova@mailyzer.ru", "password": "…", …}]}curl "https://mailyzer.ru/v1/boxes/17/code?window=15" -H "Authorization: Bearer $MAILYZER_KEY"
# → {"code": "4KQ2W", "subject": "Ваш код Steam Guard", "received_at": "…"}
# → {"code": null} — письма с кодом за 15 минут ещё нетКод ищется в теме и тексте письма рядом со словами «код», «code», «Steam Guard» и похожими. Старые письма не отдаются: окно свежести — от 1 до 180 минут.
Методы
| GET | /account | Аккаунт, срок доступа, сколько ящиков создано за сутки |
| GET | /boxes?q=&ref=&group=&limit=&offset= | Ящики аккаунта: свои и выданные, с правами (role) |
| POST | /boxes | Создать: {n} — имена подберёт сервис, или {names: [...]}; note, ref, password, group_id |
| GET | /boxes/check?name= | Свободно ли имя и подходит ли оно |
| POST | /boxes/attach | Добавить чужой ящик по {address, password} — с правом чтения |
| GET | /boxes/{id} | Ящик и письма. Пароль — только при полном доступе |
| GET | /boxes/by-address/{address} | Ящик по адресу (только из ваших) |
| GET | /boxes/{id}/code?window=15 | Код из самого свежего письма за window минут; code: null — письма ещё нет |
| GET | /boxes/{id}/messages/{mid} | Письмо целиком, с HTML |
| PATCH | /boxes/{id} | Поменять note или ref (полный доступ) |
| POST | /boxes/{id}/password | Новый пароль: {password} или пусто — сгенерировать. Входы по паролю закрываются |
| DELETE | /boxes/{id} | Владелец удаляет ящик совсем, остальные — убирают из своего аккаунта |
| GET | /boxes/{id}/access | Кто видит ящик: владелец, аккаунты, открытые входы (полный доступ) |
| POST | /boxes/{id}/access | Выдать доступ аккаунту: {email, role: read | full} |
| DELETE | /boxes/{id}/sessions/{sid} | Закрыть вход по паролю |
| POST | /boxes/{id}/share | Ссылка и QR-код передачи: {role}. Одноразовая, 24 часа |
| GET | /messages?group=&before=&limit= | Общая лента писем всех ящиков или одной группы |
| GET | /groups | Группы ящиков |
| POST | /groups | Создать группу: {name, color} |
| POST | /groups/{id}/boxes | Добавить ящики в группу: {box_ids} |
| POST | /groups/{id}/share | Ссылка и QR-код передачи группы |
ref — ваша строка до 64 символов (например, номер заказа): по ней можно найти ящик, не храня наших номеров. Права на ящик (role): owner, full, read. Полная схема — OpenAPI.
Лимиты и ошибки
- До 240 запросов в минуту на аккаунт, до 500 ящиков за один запрос, до 1000 новых ящиков за сутки.
- Ящики хранятся бессрочно, письма — 7 дней.
- Письмо — до 1 МБ, вложения не сохраняются. На ящик хранится 50 последних писем.
- Ошибка приходит с кодом HTTP и текстом в
detail: 400 — неверный запрос, 401 — ключ, 402 — нет доступа, 403 — не хватает прав на ящик, 404 — ящика нет среди ваших, 429 — слишком часто или кончился суточный лимит.