Skip to navigation

Списки

Фильтрация почты через разрешение или блокировку адресов и доменов.

Что такое списки?

Lists фильтруют почту: разрешают или блокируют конкретные адреса или домены. Шесть типов по двум осям:

  • Направление: send, receive или reply
  • Тип: allow или block
СписокОписание
Receive allowПринимать письма только с этих адресов или доменов
Receive blockОтклонять письма с этих адресов или доменов
Send allowОтправлять только на эти адреса или домены
Send blockЗапретить отправку на эти адреса или домены
Reply allowПринимать ответы только с этих адресов или доменов
Reply blockОтклонять ответы с этих адресов или доменов

Запись — либо полный email (например partner@example.com), либо целый домен (например example.com).

Область действия (scoping)

Списки задаются на трёх уровнях. Более узкая область перекрывает более широкую:

  • Organization: на всю организацию — client.lists.
  • Pod: на все inbox в pod — client.pods.lists.
  • Inbox: на один ящик — client.inboxes.lists.

При решении «разрешить или заблокировать» сначала проверяется самый конкретный уровень. Если сработал список уровня inbox, pod и org не проверяются.

Списки для ответов (reply)

Направление reply относится к входящим письмам, которые являются ответами на ранее отправленные вами. По заголовку In-Reply-To определяется, ответ это или нет:

  • Если это ответ на исходящее сообщение — проверяются только reply-списки. Receive-списки не используются.
  • Если это не ответ — проверяются только receive-списки. Reply-списки не используются.

Ветки независимы. По умолчанию при пустых reply-списках все ответы разрешены. Ограничить ответы можно через reply allow или reply block.

Примеры SDK

Записи списка

Получить записи с опциональной пагинацией.

entries = client.lists.list("receive", "allow", limit=10)

Создать запись

Добавить адрес или домен. Параметр reason необязателен и доступен для block-списков.

# allow — reason не нужен
client.lists.create("receive", "allow", entry="partner@example.com")
# block — reason необязателен
client.lists.create("receive", "block", entry="spam@example.com", reason="spam")

Получить запись

Найти запись по email или домену.

entry = client.lists.get("receive", "allow", entry="partner@example.com")

Удалить запись

client.lists.delete("receive", "allow", entry="partner@example.com")

Списки уровня inbox

Те же операции для одного ящика.

# Добавить в receive allowlist inbox
client.inboxes.lists.create(
"inbox_id", "receive", "allow", entry="vip@example.com"
)
# Список записей inbox
entries = client.inboxes.lists.list("inbox_id", "receive", "allow")

Reply-списки

Кто может отвечать на исходящие письма ящика.

# Разрешить ответы только с домена
client.lists.create("reply", "allow", entry="nobu.com")

Скопировать в Cursor / Claude

Скопируйте один из блоков ниже для полного контекста по API списков.

"""
Agent Inbox Lists, copy into Cursor/Claude.
Filter emails by allow/block for send/receive/reply. 6 types: receive|send|reply x allow|block.
Lists can be scoped to org, pod, or inbox level.
API reference (org-level):
- lists.list(direction, type, limit?, page_token?)
- lists.create(direction, type, entry, reason?), reason only for block lists
- lists.get(direction, type, entry)
- lists.delete(direction, type, entry)
Pod-level: pods.lists.list(pod_id, direction, type, ...) and same for create/get/delete.
Inbox-level: inboxes.lists.list(inbox_id, direction, type, ...) and same for create/get/delete.
Entry: full email (user@domain.com) or domain (example.com).
Cascade: inbox > pod > org (most specific scope wins).
Reply lists: inbound replies (detected via In-Reply-To) check reply lists, not receive lists.
"""
from agentinbox import Agentinbox
client = Agentinbox(api_key="YOUR_API_KEY")
# Org-level lists
entries = client.lists.list("receive", "allow", limit=10)
client.lists.create("receive", "allow", entry="partner@example.com")
client.lists.create("receive", "block", entry="spam@example.com", reason="spam")
e = client.lists.get("receive", "allow", entry="partner@example.com")
client.lists.delete("receive", "allow", entry="partner@example.com")
# Reply lists
client.lists.create("reply", "allow", entry="nobu.com")
# Inbox-level lists
client.inboxes.lists.create("inbox_id", "receive", "allow", entry="vip@example.com")
inbox_entries = client.inboxes.lists.list("inbox_id", "receive", "allow")