API reference

REST API для транзакционной почты

API принимает аутентифицированные запросы, проверяет scope проекта и состояние домена, проверяет suppression и ставит принятые сообщения в очередь.

Скачать OpenAPI 3.1

Аутентификация

POST /v1/emails

Запрос / Ответ

ЗапросcURL
curl --request POST 'https://api.srs-postline.com/v1/emails' \
  --header 'Authorization: Bearer srs_live_...' \
  --header 'Idempotency-Key: order_4821' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "from": "Postline <info@example.com>",
    "to": ["user@example.net"],
    "subject": "Your order is ready",
    "html": "<p>Order #4821 is ready.</p>",
    "text": "Order #4821 is ready."
  }'
Ответ202 Accepted
HTTP/1.1 202 Accepted
Content-Type: application/json

{
  "id": "msg_01JPOSTLINEEXAMPLE",
  "status": "queued",
  "created_at": "2026-08-22T12:00:00Z"
}

Входные параметры

ПараметрТипОбязательныйОписаниеПример
Authorizationheader · stringДаScoped API-ключ из панели в формате Bearer-токена.Bearer srs_live_…
Idempotency-Keyheader · stringНетСтабильный ID одной логической отправки; настоятельно рекомендуется.order_4821
fromstringДаИмя и адрес отправителя на подтверждённом домене.Postline <info@example.com>
tostring[]ДаОт одного до 100 email-адресов получателей.["user@example.net"]
subjectstringДаТема письма.Ваш заказ готов
htmlstringНетHTML-тело. Обязательно передать html или text.<p>…</p>
textstringНетТекстовое тело. Обязательно передать text или html.Заказ №4821…

Коды ответа

СтатусHTTPОписание
202AcceptedПисьмо поставлено в очередь; это ещё не доставка во входящие.
400Bad RequestНевалидный JSON или неподдерживаемые поля.
401UnauthorizedAPI-ключ неверен, истёк или отозван.
403ForbiddenНе хватает scope или домен отправителя не подтверждён.
422Unprocessable EntityПолучатель находится в suppression-списке.
429Too Many RequestsПревышен лимит запросов проекта.
Пример ошибки422 Unprocessable Entity
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{
  "error": "recipient suppressed"
}

Отправка письма

POST /v1/emails
Authorization: Bearer srs_live_…
Idempotency-Key: reset-4821
Content-Type: application/json

Основные ресурсы

POST/v1/emailsпоставить сообщение в очередь
GET/v1/emails/{id}статус сообщения
POST/v1/domainsдобавить домен отправки
POST/v1/domains/{id}/verifyзапустить DNS-проверки
GET/POST/DELETE/v1/suppressionsуправление suppression-списком
GET/POST/DELETE/v1/webhooksуправление webhook-эндпоинтами

Модель ответа

202 означает «поставлено в очередь», а не «доставлено во входящие». 403 указывает на отсутствие scope или неверифицированный домен. 422 блокирует suppressed-получателя. 429 — превышен лимит запросов.

Актуальная модель доступа

Текущие ключи dashboard используют префикс srs_live_. До проверки клиентского From-домена общий sandbox-отправитель может писать только участникам проекта. После проверки DNS внешняя отправка ограничивается квотами тарифа, suppression, лимитами получателей и abuse-контролями. Ответ 202 означает очередь, а не доставку.

Материалы для интеграции

Используйте пошаговое руководство для людей и AI-агентов, а OpenAPI — как источник истины по полям API.