# Adapt Mail API 0.16.0 https://adapt-mail.com/de/docs/ # Dokumentation Adapt Mail ## Mail für Ihr Produkt Verbinden Sie Ihr Interface mit Adapt Mail: Postfächern, lesen und versenden Sie E-Mails, zeigen Sie Dialoge an, verwalten Sie Dateien, Kontakte und Absenderregeln. Erstellen Sie Konten, verbinden Sie Domänen, bezahlen Sie Postfächer und erhöhen Sie deren Volumen in Ihrem persönlichen Konto, mit dem Sie Ihre E-Mails verbunden haben. Mit Mail API können Sie mit bereits erstellten Postfächern arbeiten. ## Beginnen Sie mit der Autorisierung Verwenden Sie für die Serverintegration den E-Mail-Schlüssel API-key zusammen mit X-Customer-ID.. Um sich für einen bestimmten Benutzer anzumelden, erhalten Sie einen Bearer-token mit seinem Benutzernamen und Passwort. ``` GET /v1/mailboxes X-API-Key: X-Customer-ID: ``` ## Erste Anfrage Basisadresse API - https://adapt-mail.com. Alle Anfragen werden über HTTPS. bearbeitet. Für JSON--Anfragen geben Sie bitte Content-Type: application/json. an Erhalten Sie ein Token mit Ihrem E-Mail-Konto-Login und Passwort. Fordern Sie dann eine Liste der Postfächer an und speichern Sie id des gewünschten Postfachs: Es wird als mailbox_id in Anforderungsadressen verwendet. Ersetzen Sie die Werte in spitzen Klammern durch Ihre eigenen Daten. ``` curl https://adapt-mail.com/v1/auth/token \ -H "Content-Type: application/json" \ --data '{"login":"","password":"","mode":"account"}' curl https://adapt-mail.com/v1/mailboxes \ -H "Authorization: Bearer " ``` ## Dokumentationsformate Das Schema OpenAPI beschreibt die Anforderungsparameter und Antworten. Die Datei llms-full.txt enthält das komplette Nachschlagewerk im Textformat. Download-Links finden Sie am Anfang jeder Seite. # Berechtigungs- und Zugangsbereiche ## Anmeldung per Link Ihr Server ruft POST /v1/auth/login-link mit X-API-Key und X-Customer-ID auf. Mit mailbox_id wird nur dieses Postfach geöffnet; ohne das Feld das gesamte Konto. locale legt die Sprache der Oberfläche fest. Die Antwort enthält login_url, expires_in=300, expires_at (UTC), account_id und mailbox_id. Die Schaltfläche „Postfach öffnen“ öffnet die vollständige login_url einschließlich #token. Der Link gilt 5 Minuten und nur einmal. Protokollieren Sie ihn nicht und geben Sie den API-Schlüssel nicht im Browser preis. Die Anmeldeseite entfernt den Token aus der Adressleiste und tauscht ihn gegen HttpOnly-Cookies ein. Bei Fehlern oder Ablauf erstellen Sie einen neuen Link. Berechtigungen sowie Konto- und Postfachstatus werden erneut geprüft. Benutzersitzungen können keine Links erstellen. ``` curl https://adapt-mail.com/v1/auth/login-link \ -H "X-API-Key: " \ -H "X-Customer-ID: " \ -H "Content-Type: application/json" \ --data '{"mailbox_id":42,"locale":"en"}' { "login_url": "https://adapt-mail.com/auth/#token=", "expires_in": 300, "expires_at": "2026-10-20T12:05:00Z", "account_id": 123, "mailbox_id": 42 } ``` ## Partnerschlüssel Verwenden Sie den E-Mail-Schlüssel API- Ihrer Integration. Übergeben Sie es an X-API-Key und ID des E-Mail-Kontos – im erforderlichen Header X-Customer-ID. Dies ist ID des Kontos, nicht external_id und nicht ID des Postfachs. Der Schlüssel ermöglicht den Zugriff nur für Clients Ihrer Integration. Speichern Sie den Schlüssel auf dem Server Ihres Partners. Platzieren Sie den gemeinsamen Integrationsschlüssel nicht im Browser oder in der mobilen Anwendung. ``` curl 'https://adapt-mail.com/v1/mailboxes' \ -H 'X-API-Key: ' \ -H 'X-Customer-ID: ' ``` ## Benutzertoken POST /v1/auth/token akzeptiert login, password und mode. Für mode=account wird der Login user-ID verwendet, für mode=mailbox wird die vollständige Postfachadresse verwendet. Konto- und Postfachkennwörter sind unabhängig. Die Antwort enthält access_token, token_type=Bearer und expires_in=3600.. Das Konto-Token öffnet seine Boxen; Box-Token – nur eine Box. Nach Ablauf erhalten Sie einen neuen Token. ``` POST /v1/auth/token Content-Type: application/json {"login":"user-123","password":"","mode":"account"} GET /v1/mailboxes Authorization: Bearer ``` ## Browsersitzungen POST /v1/auth/login ist für seine eigene Site adapt-mail.com. Es erfordert das richtige Origin und installiert HttpOnly cookies. Nicht klassifiziert X-Mail-Session wählt eine der gespeicherten Eingaben aus, aber ohne cookie gewährt es keinen Zugriff. Für Drittanbieter-Frontends verwenden Sie Ihren Server und Ihr Benutzertoken. Rechnen Sie nicht mit dem zufälligen domänenübergreifenden Zugriff von cookie: public CORS für irgendeine Site-Nr. # Versand und Betrieb ## Einen E-Mail in die Warteschlange stellen Erhalten Sie die Box ID von GET /v1/mailboxes.. Erstellen Sie eine eindeutige Idempotency-Key für eine Einreichung und speichern Sie sie bis zum Endergebnis. Verwenden Sie für die Netzwerkwiedergabe denselben Schlüssel und denselben Textkörper. HTTP 202 gibt ein Vorgangsobjekt zurück, keine Lieferbestätigung. Feld id enthält ID Operationen. Umfrage GET /v1/operations/{operation_id}. ``` POST /v1/mailboxes/42/send Idempotency-Key: message-20261019-0001 Content-Type: application/json {"to":["team@example.com"],"subject":"Hello","text":"A message from Adapt Mail"} ``` ## So verstehen Sie das Ergebnis - `queued` — Der Brief wartet auf den Versand. - `running` — Der Versand läuft. - `succeeded` — Der Mailserver hat die Übermittlung akzeptiert. Überprüfen Sie das Ergebnis für jeden Empfänger. - `failed` — Das Senden ist fehlgeschlagen. Der Grund wird in error. angegeben. - `cancelled` — Versand abgebrochen. - `uncertain` — Das Sendeergebnis konnte nicht bestätigt werden. Bitte überprüfen Sie den Vorgang und Ihren gesendeten Ordner, bevor Sie es erneut versuchen. Nach einem erfolgreichen Versand enthält das Feld result accepted_recipients – akzeptierte Empfänger, rejected_recipients – abgelehnte Empfänger und sent_saved – das Ergebnis der Speicherung einer Kopie im Versand. Die Annahme eines Briefes durch einen Mailserver garantiert nicht die Zustellung im Posteingang des Empfängers. Um einen ausstehenden Versand abzubrechen, führen Sie POST /v1/operations/{operation_id}/cancel. aus. Die Methode /retry sendet die E-Mail nicht erneut. ## Antworten, Weiterleiten und verzögerter Versand Um zu antworten, fügen Sie bitte message_id der ursprünglichen E-Mail in reply_to_message_id ein und leiten Sie sie an references. weiter. Geben Sie in to die Antwortadresse von reply_to oder die Adresse des Absenders ein. Um allen zu antworten, fügen Sie weitere Teilnehmer zu to und cc hinzu, ohne Ihre eigene Adresse. Um Anhänge weiterzuleiten, übergeben Sie forward_message mit folder, uidvalidity und uid.. Für Ihre hochgeladenen Dateien verwenden Sie file_ids.. Die Gesamtgröße des Anhangs ist auf 25 MiB begrenzt. send_at wird mit einer Zeitzone angegeben, die in UTC gespeichert ist; Ein verzögerter Versand ist innerhalb eines Jahres möglich. Grenzwerte werden beim tatsächlichen Senden überprüft, nicht bei der Erstellung einer Warteschlange. # Versand über SMTP ## Voraussetzungen für die Verbindung Senden Sie E-Mails aus Ihrer Anwendung über SMTP mit dem Benutzernamen und Passwort des Postfachs. API-Schlüssel und Kontotokens eignen sich nicht für SMTP. Erstellen Sie ein aktives Postfach auf einer verbundenen Domain und schließen Sie die DNS-Prüfung ab. Der Benutzername ist die vollständige Adresse, zum Beispiel noreply@example.com. Verwenden Sie das Postfachpasswort, nicht das Passwort des E-Mail-Kontos. Ersetzen Sie die Beispieladressen durch Ihre eigenen; das Passwort wird beim Start verdeckt eingegeben. ## Server, Ports und Verschlüsselung Verwenden Sie mail.adapt-mail.com für jede verbundene Domain. Auf Port 465 beginnt TLS sofort; auf Port 587 erfolgt zuerst STARTTLS, dann die Anmeldung. Wählen Sie eine Variante. Lassen Sie die Zertifikatsprüfung aktiviert. In den Beispielen entsprechen die From-Adresse und der SMTP-Absender dem Benutzernamen des Postfachs. Der angezeigte Absendername ist frei wählbar. Port 25 dient dem Austausch zwischen Mailservern; für Ihre Anwendung verwenden Sie 465 oder 587. ``` SMTP_HOST = "mail.adapt-mail.com" SMTP_PORT = 465 SMTP_USER = "noreply@example.com" SMTP_PASSWORD = "" SMTP_FROM = "noreply@example.com" SMTP_FROM_NAME = "Example" 465: implicit TLS 587: STARTTLS ``` ## Python: Versand über Port 465 Das Beispiel verwendet nur die Standardbibliothek von Python 3. Speichern Sie es als send_mail.py und starten Sie python3 send_mail.py. Für den automatischen Versand beziehen Sie das Passwort aus der geschützten Konfiguration Ihrer Anwendung; speichern Sie es nicht in Git oder Protokollen. ``` import smtplib import ssl from getpass import getpass from email.message import EmailMessage from email.utils import formataddr, make_msgid, formatdate username = "noreply@example.com" password = getpass("SMTP password: ") recipient = "recipient@example.net" message = EmailMessage() message["From"] = formataddr(("Example", username)) message["To"] = recipient message["Subject"] = "SMTP test" message["Date"] = formatdate(localtime=False, usegmt=True) message["Message-ID"] = make_msgid(domain=username.split("@")[1]) message.set_content("Hello! This message was sent through Adapt Mail SMTP.") with smtplib.SMTP_SSL( "mail.adapt-mail.com", 465, timeout=30, context=ssl.create_default_context(), ) as smtp: smtp.login(username, password) refused = smtp.send_message( message, from_addr=username, to_addrs=[recipient], ) print("Rejected recipients:", refused) ``` ## Python: Verbindung über Port 587 Für STARTTLS übernehmen Sie die Nachrichtenvorbereitung aus dem vorherigen Beispiel und ersetzen den Block with smtplib.SMTP_SSL durch den folgenden. Bei smtplib.SMTP wird das Passwort erst nach erfolgreichem STARTTLS übertragen. ``` with smtplib.SMTP("mail.adapt-mail.com", 587, timeout=30) as smtp: smtp.ehlo() smtp.starttls(context=ssl.create_default_context()) smtp.ehlo() smtp.login(username, password) refused = smtp.send_message( message, from_addr=username, to_addrs=[recipient], ) print("Rejected recipients:", refused) ``` ## HTML und Anhänge Fügen Sie die HTML-Version nach set_content und den Anhang vor dem Versand hinzu. Behalten Sie die Textversion für Clients ohne HTML-Unterstützung bei. Verwenden Sie nur vertrauenswürdiges HTML oder maskieren Sie eingefügte Daten. ``` message.add_alternative( "

Hello! This message was sent through Adapt Mail.

", subtype="html", ) with open("document.pdf", "rb") as attachment: message.add_attachment( attachment.read(), maintype="application", subtype="pdf", filename="document.pdf", ) ``` ## Ergebnis, Limits und gesendete Nachrichten Ein erfolgreiches send_message bedeutet, dass der SMTP-Server die Nachricht angenommen hat, nicht dass sie im Posteingang angekommen ist. Das Dictionary refused enthält abgelehnte Empfänger; werden alle Empfänger abgelehnt, löst Python SMTPRecipientsRefused aus. SMTP und API teilen sich die Limits pro Postfach: bis zu 30 Nachrichten in einem gleitenden 60-Sekunden-Fenster, 50 Empfänger pro Nachricht und 1000 Empfänger in einem gleitenden 24-Stunden-Fenster; mit aktiviertem erhöhtem Limit sind es 5000. Alle Empfänger in To, Cc und Bcc zählen mit. Direkter SMTP-Versand speichert nicht automatisch eine Kopie unter „Gesendet“. Mailprogramme erledigen dies über IMAP; beim Versand über die Adapt Mail API wird die Kopie separat gespeichert. ## SMTP-Fehler - `535` — Anmeldung fehlgeschlagen: Prüfen Sie die vollständige Adresse, das Postfachpasswort und die Verfügbarkeit des Postfachs. - `451` — Vorübergehender Fehler, auch bei überschrittenen Versandlimits. Versuchen Sie es nach einer Wartezeit erneut. - `550 / 5xx` — Dauerhafte Ablehnung: Prüfen Sie Adressen, Absenderberechtigungen und Antworttext. Mehr als 50 Empfänger werden nach DATA abgelehnt. Beheben Sie die Ursache vor einem erneuten Versuch. - `TLS / timeout` — Prüfen Sie mail.adapt-mail.com, Port, TLS-Modus und ausgehende Verbindungen vom Anwendungsserver. Verwenden Sie SMTP_SSL auf 465 oder SMTP mit STARTTLS auf 587. Lesen Sie die vollständige SMTP-Antwort. Wiederholen Sie vorübergehend fehlgeschlagene Versuche mit Verzögerung. Bricht die Verbindung nach der Übertragung ab und ist das Ergebnis unbekannt, senden Sie nicht blind erneut: SMTP hat keinen Idempotency-Key, und ein erneuter Versuch kann ein Duplikat erzeugen. # E-Mails und Dialoge ## Liste und Seiten GET /v1/mailboxes/{mailbox_id}/folders gibt Ordner mit der Gesamtzahl der Briefe total, der Anzahl der ungelesenen unread und einem Wert von uidvalidity. zurück. Für eine Liste von Briefen verwenden Sie GET /v1/mailboxes/{mailbox_id}/messages:. Die Antwort enthält items, next_before und uidvalidity, bis zu 40 Briefe pro Seite. Übergeben Sie next_before als before in der nächsten Anfrage. null bedeutet das Ende der Liste. Die Suche nach q ist auf 200 Zeichen beschränkt und wird basierend auf dem Inhalt der E-Mail durchgeführt. ``` GET /v1/mailboxes/42/messages?folder=INBOX GET /v1/mailboxes/42/messages?folder=INBOX&before=120 ``` ## Buchstaben-IDs uid ist die Kennung des Briefes im Ordner, folder ist der Name des Ordners, mailbox_id ist ID des Postfachs. Der Wert uidvalidity bestimmt die Nummerierungsversion der Briefe im Ordner. Nehmen Sie alle vier Werte aus der Antwort API und speichern Sie sie zusammen. Wenn sich uidvalidity geändert hat, laden Sie die Mailliste für diesen Ordner erneut herunter: Der alte uid kann nicht mehr verwendet werden. Durch das Lesen des Inhalts wird die E-Mail nicht als gelesen markiert. Zum Markieren machen Sie POST /v1/mailboxes/{mailbox_id}/messages/actions mit action=read. ``` POST /v1/mailboxes/42/messages/actions {"folder":"INBOX","uidvalidity":123456,"uids":[120],"action":"read"} ``` ## Korrespondenz als Dialog GET /v1/mailboxes/{mailbox_id}/threads gibt bis zu 100 Dialoge zurück. Übergeben Sie thread_id der ausgewählten Konversation an GET /v1/mailboxes/{mailbox_id}/threads/{thread_id}, um die Buchstaben von alt nach neu zu übertragen. Ein neuer Buchstabe kann mit einer leichten Verzögerung im Dialog erscheinen. Aktualisieren Sie die Liste. Um die Übermittlung zu überprüfen, verwenden Sie den Vorgangsstatus. Aufgrund der Anzeigeverzögerung ist es nicht erforderlich, die E-Mail erneut zu senden. # Grenzen und Lagerung ## Allgemeine Grenzwerte SMTP und API Reguläres Postfach: 1000 Empfänger in einem rollierenden 24-Stunden-Zeitraum. Box mit outbound_high_limit=true: 5000. Bis zu 30 Nachrichten in gleitenden 60 Sekunden; insgesamt bis zu 50 Empfänger in To, Cc und Bcc eines E-Mailss. Eingegangene SMTP-Empfänger werden berücksichtigt, einschließlich interner Adressen und Wiederholungen von Empfängern in verschiedenen E-Mailsn. Es gibt keine gesonderte Stundenbegrenzung. Hierbei handelt es sich um den Verbrauch von Sendeberechtigungen und nicht um die Statistik der zugestellten E-Mails. GET /v1/mailboxes gibt den Grenzwert, den Durchfluss und den Rest beider Fenster zurück. Es gibt keinen kumulativen Aufwand für die maximale Anzahl an Empfängern pro E-Mail. Wenn der Zähler nicht verfügbar ist, gibt der Server 503 statt Nullverbrauch zurück. ``` { "outbound_daily_recipient_limit": 1000, "outbound_daily_recipients_used": 120, "outbound_daily_recipients_remaining": 880, "outbound_messages_per_minute": 30, "outbound_minute_messages_used": 2, "outbound_minute_messages_remaining": 28, "outbound_recipients_per_message": 50 } ``` ## Überschreitung des Limits API-send kann 202 empfangen und später fehlschlagen failed mit mail_daily_limit_exceeded oder mail_minute_limit_exceeded. Mehr als 50 Empfänger werden sofort mit 422 abgelehnt. SMTP gibt einen vorübergehenden Fehler von 451 zurück, wenn das Fenster überschritten wird, und 550 nach DATA, wenn es mehr als 50 Empfänger gibt. Es gibt keine Möglichkeit, das Limit durch ein anderes Protokoll zu umgehen. ## E-Mails und Dateien quota_mb ist der gemeinsame Speicher für Nachrichten und Dateien in MiB. used_bytes ist die gesamte Belegung in Bytes. storage_shared=true; file_quota_bytes entspricht quota_mb × 1048576 und ist kein zusätzlicher Speicher. file_used_bytes ist die Originalgröße hochgeladener Dateien, die bereits in der Gesamtbelegung enthalten sind. Dateien werden zusammen mit der Post auf unseren Datenträgern gespeichert. Die gemeinsame Quote umfasst MIME-Kodierung und Header. Eine Anhangskopie in einer gesendeten Nachricht belegt zusätzlichen Platz. Externe IMAP-Clients sehen den Systemordner Adapt Files: Wenn Sie ihn löschen, werden die gespeicherten Dateien gelöscht. Verlängerung und Volumenerhöhung sind in Ihrem persönlichen Konto verfügbar, in dem Sie Ihre E-Mail-Adresse angegeben haben. Nach Ablauf des kostenpflichtigen Zeitraums werden das Lesen und Senden gesperrt. Nach 24 Stunden beginnt die Kartonentfernung; Erneuern Sie Ihr Abonnement vor diesem Datum. # Ereignisse und Webhooks ## Webhooks verbinden Geben Sie in Ihren Integrationseinstellungen die Adresse für den Empfang von Webhooks an. Es erhält Benachrichtigungen über neue Briefe, den Status von Postfächern und die Betriebsergebnisse. Legen Sie in den Integrationseinstellungen ein separates Webhook-Geheimnis fest und aktivieren Sie die Zustellung. Dieses Geheimnis wird zur Überprüfung von Benachrichtigungssignaturen verwendet. mail API-key ist dafür nicht geeignet. ## Benachrichtigungsformat Die Benachrichtigung kommt HTTP POST- Anfrage mit Content-Type: application/json. Feld event enthält den Ereignistyp, timestamp – Benachrichtigungszeit, data – Ereignisdaten. Die Zusammensetzung von data hängt vom Ereignis ab. Anhand der Kennung data.event_id können Sie eine erneute Zustellung erkennen. Speichern Sie es zusammen mit Ihrer Integrations-ID und verarbeiten Sie ein Ereignis nur einmal. ``` { "event": "mail.message.received", "timestamp": "2026-11-01T12:00:00Z", "data": { "event_id": "00000000-0000-4000-8000-000000000001", "created_at": "2026-11-01T12:00:00Z", "mailbox_id": 42, "folder": "INBOX", "uidvalidity": 123456, "uid": 120 } } ``` ## Überprüfung und Bestätigung Der Header X-Webhook-Signature enthält HMAC-SHA256 in kleiner hexadezimaler Schreibweise. Berechnen Sie die Signatur aus den ursprünglichen Bytes des Anforderungstexts und dem Webhook-Geheimnis. Überprüfen Sie die Signatur, bevor Sie Daten verarbeiten. Durch die erneute Serialisierung von JSON werden die zu signierenden Bytes geändert. Nachdem Sie die Signatur überprüft und das Ereignis gespeichert haben, geben Sie HTTP 200 oder 201 zurück. Die Antworten 202 und 204 bestätigen den Empfang nicht. Antworten Sie innerhalb von 10 Sekunden; Führen Sie nach dem Speichern des Ereignisses eine längere Verarbeitung durch. Benachrichtigungen können wiederholt und in unregelmäßiger Reihenfolge eingehen. Bevor Sie den Abonnementstatus ändern, überprüfen Sie dessen aktuelle Details. Der Lieferverlauf ist in den Integrationseinstellungen verfügbar. ## Welche Ereignisse passieren - `mailbox.created` — Die Box ist erstellt und einsatzbereit. - `mailbox.expiring` — Das Ende des bezahlten Zeitraums für die Box naht. - `mailbox.renewed` — Der bezahlte Zeitraum für die Box wurde verlängert. - `mailbox.suspended` — Der Zugriff auf das Postfach ist gesperrt: Lesen und Senden sind nicht möglich. - `mailbox.resumed` — Der Zugriff auf das Postfach wurde wiederhergestellt. - `mailbox.deleting_soon` — Es verbleibt noch eine Stunde, bis die unbezahlte Box gelöscht wird. - `mailbox.deleted` — Die Box wurde gelöscht. - `mailbox.account_changed` — Das Postfach ist mit einem anderen E-Mail-Konto verknüpft. - `mail.message.received` — Im Briefkasten ist ein neuer eingehender Brief aufgetaucht. - `mail.operation.succeeded` — Der Vorgang wurde erfolgreich abgeschlossen. Beim Versenden bedeutet dies, dass der Brief vom Mailserver angenommen wird und nicht im Posteingang des Empfängers zugestellt wird. - `mail.operation.failed` — Der Vorgang ist fehlgeschlagen. - `mail.operation.uncertain` — Das Sendeergebnis ist unbekannt. Bitte überprüfen Sie den Zustand, bevor Sie es erneut senden. Zahlungserinnerungen: 14, 7, 3, 2, 1 Tag und eine Stunde vor Ablauf. Durch die Verlängerung werden veraltete Erinnerungen, die noch nicht gesendet wurden, storniert. # Fehler und Wiederholungen ## Fehlerformat Die Fehlerantwort enthält eine Zeichenfolge detail:, ein Objekt mit code/message oder eine Liste von Validierungsfehlern. Bestimmen Sie das Verhalten nicht anhand des übersetzten Texts: Verwenden Sie HTTP-status und maschinell generiertes code, sofern vorhanden. ``` {"detail":"..."} {"detail":{"code":"...","message":"..."}} ``` ## Codes HTTP - `400` — Ungültiger Header oder Bezeichner. Überprüfen Sie Ihre Anfrage. - `401` — Die Sitzung oder der Schlüssel wurde nicht akzeptiert. Melden Sie sich erneut an oder überprüfen Sie Ihren Schlüssel. - `403` — Unzureichende Rechte oder der Zugriff auf das Postfach wird verweigert. - `404` — Die Ressource wurde nicht gefunden oder ist für das aktuelle Konto nicht verfügbar. - `409` — Ordnerstatus, Kontingent oder Generationskonflikt. Bitte aktualisieren Sie Ihre Daten, bevor Sie es erneut versuchen. - `413` — Die Dateigröße überschreitet den zulässigen Grenzwert. - `422` — Ungültige Anforderungsparameter. Überprüfen Sie die in der Antwort bereitgestellten Felder. - `429` — Zu viele Anfragen. Bitte versuchen Sie es später noch einmal. - `503` — Der Dienst ist vorübergehend nicht verfügbar. Wiederholen Sie die Anfrage mit einer Verzögerung. Nach 401 ist eine erneute Anmeldung erforderlich. Lesen Sie nach 409 den Status erneut. Nach 503 mit Verzögerung wiederholen; Zum Senden das Gleiche beibehalten Idempotency-Key. Wiederholen Sie irreversible Aktionen nicht blind. # Verbundene Anwendungen ## Anwendung verbinden Verbinden Sie Ihren KI-Client über diese Adresse. Postfächer und Berechtigungen wählen Sie beim Verbinden. Erlauben Sie nur den Zugriff auf benötigte Postfächer und Aktionen. ``` URL / Resource: https://adapt-mail.com/mcp Transport: Streamable HTTP Authorization: OAuth 2.1 / PKCE S256 OAuth discovery: /.well-known/oauth-authorization-server Resource metadata: /.well-known/oauth-protected-resource/mcp ``` ## Berechtigungen - `mail.read` — Nachrichten, Unterhaltungen und Anhänge suchen und lesen. - `mail.send` — Nachrichten senden, beantworten und weiterleiten. - `mail.manage` — Entwürfe, Dateien, Ordner, Lesestatus, Markierungen, Archiv und Spam. - `mail.delete` — Papierkorb und endgültiges Löschen von Nachrichten, Entwürfen und Dateien. ## Zugriff widerrufen Der Zugriff gilt 30 Tage. Sie können ihn jederzeit in den Einstellungen widerrufen. # Postfacheinstellungen ## E-Mail-Vorlagen Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail. Die Vorlage ersetzt den Text im Editor. Empfänger und Anhänge bleiben erhalten. ``` POST /v1/mailboxes/42/templates Content-Type: application/json {"name":"Welcome","subject":"Welcome","text":"Thank you for joining us.","html":"

Thank you for joining us.

"} ``` ## Automatische Antwort Automatische Antworten funktionieren auch bei geschlossenem Browser und zählen zum Sendelimit. Mailinglisten und automatische Nachrichten sind ausgeschlossen. Datumsangaben für automatische Antworten benötigen eine Zeitzone; repeat_days liegt zwischen 1 und 30. Antworten gelten nur für neue persönliche Nachrichten: From muss mit Return-Path übereinstimmen. ``` PUT /v1/mailboxes/42/autoresponder Content-Type: application/json {"enabled":true,"subject":"Away","text":"I will reply when I return.","starts_at":null,"ends_at":null,"repeat_days":7} ``` ## Filter Bis zu 100 Filter pro Postfach und 20 Bedingungen pro Filter. Verglichen werden vollständige Kopfzeilen; bei ASCII wird Groß-/Kleinschreibung ignoriert, bei anderen Zeichen berücksichtigt. Der erste passende Filter wird angewendet. Absenderregeln haben Vorrang. Vorhandene Nachrichten werden separat verarbeitet. Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen. Posteingang und eigene Ordner werden verarbeitet. Gesendet, Entwürfe, Spam und Papierkorb sind ausgeschlossen. ``` POST /v1/mailboxes/42/filters Content-Type: application/json {"name":"Invoices","enabled":true,"match":"all","conditions":[{"field":"subject","operator":"contains","value":"Invoice"}],"mark_read":false,"important":true,"trash":false,"move_to":null} POST /v1/mailboxes/42/filters/17/apply Idempotency-Key: apply-filter-0001 ``` ## Vorschau - `file_infected` — Eine Bedrohung wurde erkannt. Das Öffnen der Datei wurde blockiert. - `file_scan_unavailable` — Der Virenschutz ist vorübergehend nicht verfügbar. Versuchen Sie es später erneut. Für DOC, XLS, XLSX, PPT, PPTX und ODT preview=pdf zur Inhaltsanfrage für Dateien oder Anhänge hinzufügen. Maximal 10 Konvertierungen pro Minute und Postfach. X-File-Scan: clean und X-File-Scanned-At geben Prüfergebnis und Zeitpunkt an. scanned_at kann in Dateilisten null sein. Ergebnisse werden eine Stunde zwischengespeichert; Bedrohungen oder ein nicht verfügbarer Scanner verhindern die Ausgabe. ``` GET /v1/mailboxes/42/files//content?preview=pdf X-File-Scan: clean X-File-Scanned-At: 2026-10-22T12:00:00Z ``` # POST /v1/auth/login Melden Sie sich im Browser an Die Route gilt für adapt-mail.com und erfordert Origin: https://adapt-mail.com.. Gibt HttpOnly cookies und nicht klassifiziertes session_id. zurück. Für Ihren Kunden verwenden Sie /v1/auth/token. ```sh curl -X POST 'https://adapt-mail.com/v1/auth/login' \ -H 'Origin: https://adapt-mail.com' \ -c cookies.txt \ -H 'Content-Type: application/json' \ --data '{"login":"user-123","password":""}' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Melden Sie sich im Browser an", "operationId": "login_v1_auth_login_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Login" } } }, "required": true }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "session_id": { "type": "string", "format": "uuid" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Zu viele Anfragen", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Die Route gilt für adapt-mail.com und erfordert Origin: https://adapt-mail.com.. Gibt HttpOnly cookies und nicht klassifiziertes session_id. zurück. Für Ihren Kunden verwenden Sie /v1/auth/token.", "security": [] } ``` # POST /v1/auth/token Erhalten eines Benutzertokens Stellt basierend auf Login und Passwort ein Zugriffstoken für eine Stunde aus. Geben Sie mode=account an, um auf alle Kontopostfächer zuzugreifen, oder mode=mailbox, um auf eine Adresse zuzugreifen. Übergeben Sie access_token im Header Authorization: Bearer . ```sh curl -X POST 'https://adapt-mail.com/v1/auth/token' \ -H 'Content-Type: application/json' \ --data '{"login":"user-123","password":""}' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Erhalten eines Benutzertokens", "operationId": "token_v1_auth_token_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Login" } } }, "required": true }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "access_token": { "type": "string" }, "token_type": { "type": "string", "const": "Bearer" }, "expires_in": { "type": "integer", "const": 3600 }, "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Zu viele Anfragen", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Stellt basierend auf Login und Passwort ein Zugriffstoken für eine Stunde aus. Geben Sie mode=account an, um auf alle Kontopostfächer zuzugreifen, oder mode=mailbox, um auf eine Adresse zuzugreifen. Übergeben Sie access_token im Header Authorization: Bearer .", "security": [] } ``` # GET /v1/auth/sessions Gespeicherte Sitzungen Erforderlich cookie mail_browser. X-API-Key und Bearer ersetzen dieses nicht cookie. Ohne cookie wird eine leere Liste zurückgegeben. ```sh curl -X GET 'https://adapt-mail.com/v1/auth/sessions' \ -b cookies.txt ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Gespeicherte Sitzungen", "operationId": "sessions_v1_auth_sessions_get", "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "session_id": { "type": "string" }, "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "login": { "type": "string" }, "name": { "type": "string" } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Erforderlich cookie mail_browser. X-API-Key und Bearer ersetzen dieses nicht cookie. Ohne cookie wird eine leere Liste zurückgegeben.", "security": [ { "Browser": [] } ] } ``` # POST /v1/auth/logout Von der Sitzung abmelden Nur Benutzersitzung. Ruft die ausgewählte Eingabe ab; die restlichen Eingaben bleiben erhalten. ```sh curl -X POST 'https://adapt-mail.com/v1/auth/logout' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Von der Sitzung abmelden", "operationId": "logout_v1_auth_logout_post", "security": [ { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "logged_out": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Nur Benutzersitzung. Ruft die ausgewählte Eingabe ab; die restlichen Eingaben bleiben erhalten." } ``` # GET /v1/me Benutzerprofil Gibt das Profil des aktuellen E-Mail-Kontos zurück. Verwenden Sie es, um den Benutzernamen und die Anmeldung in Ihrer Anwendung anzuzeigen. ```sh curl -X GET 'https://adapt-mail.com/v1/me' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Benutzerprofil", "operationId": "me_v1_me_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "integer" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "name": { "type": "string" }, "verified": { "type": "boolean" }, "quota_mb": { "type": "integer" }, "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "auth_type": { "type": "string" }, "login": { "type": "string" }, "is_admin": { "type": "boolean" }, "files_enabled": { "type": "boolean" }, "service_managed": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt das Profil des aktuellen E-Mail-Kontos zurück. Verwenden Sie es, um den Benutzernamen und die Anmeldung in Ihrer Anwendung anzuzeigen." } ``` # GET /v1/avatars/{domain} Domain-Logo 200 - Bild; 202 – Vorbereitung, Wiederholung nach Retry-After; 204 – kein Logo; 503 – vorübergehender Fehler. Das Logo bestätigt nicht die Identität des Absenders. ```sh curl -X GET 'https://adapt-mail.com/v1/avatars/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Логотипы доменов" ], "summary": "Domain-Logo", "operationId": "avatar_v1_avatars__domain__get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "domain", "in": "path", "required": true, "schema": { "type": "string", "title": "Domain" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "image/png": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Das Logo ist in Vorbereitung" }, "204": { "description": "Kein Logo" }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Zu viele Anfragen", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "200 - Bild; 202 – Vorbereitung, Wiederholung nach Retry-After; 204 – kein Logo; 503 – vorübergehender Fehler. Das Logo bestätigt nicht die Identität des Absenders." } ``` # GET /v1/domains Liste der Domänen Zum Erstellen einer persönlichen Adresse stehen benutzerdefinierte Domänen und eine gemeinsam genutzte Domäne zur Verfügung. ```sh curl -X GET 'https://adapt-mail.com/v1/domains' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "Liste der Domänen", "operationId": "list_domains_v1_domains_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Zum Erstellen einer persönlichen Adresse stehen benutzerdefinierte Domänen und eine gemeinsam genutzte Domäne zur Verfügung." } ``` # GET /v1/domains/{domain_id}/dns DNS-Domänendatensätze Die Anweisungen enthalten die genauen DNS--Werte und das Testergebnis, ändern jedoch nicht automatisch DNS. ```sh curl -X GET 'https://adapt-mail.com/v1/domains//dns' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "DNS-Domänendatensätze", "operationId": "domain_dns_v1_domains__domain_id__dns_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "domain_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Domain Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "domain_id": { "type": "integer" }, "status": { "type": "string" }, "records": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "value": { "type": "string" }, "observed": { "type": "array", "items": { "type": "string" } }, "matches": { "type": "boolean" }, "error": { "type": "string" } } } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Die Anweisungen enthalten die genauen DNS--Werte und das Testergebnis, ändern jedoch nicht automatisch DNS." } ``` # GET /v1/mailboxes Liste der Boxen und Grenzverbrauch Die Liste der Postfächer wird durch den Besitzer oder das einzige Postfach der Benutzersitzung begrenzt. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "Liste der Boxen und Grenzverbrauch", "operationId": "list_mailboxes_v1_mailboxes_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Mailbox" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Die Liste der Postfächer wird durch den Besitzer oder das einzige Postfach der Benutzersitzung begrenzt." } ``` # PATCH /v1/mailboxes/{mailbox_id} Postfacheinstellungen Über /v1 können Sie name, password und signature ändern. Die gemeinsame quota_mb wird im Hosting-Panel geändert. Für Dateien gibt es keine separate Quote. Idempotency-Key ist optional, wird aber für Wiederholungen empfohlen. ```sh curl -X PATCH 'https://adapt-mail.com/v1/mailboxes/' \ -H 'Authorization: Bearer ' \ -H 'Idempotency-Key: message-20261019-0001' \ -H 'Content-Type: application/json' \ --data '{"name":"Support","signature":"Support team"}' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "Postfacheinstellungen", "operationId": "update_mailbox_v1_mailboxes__mailbox_id__patch", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } }, { "in": "header", "name": "Idempotency-Key", "required": false, "schema": { "type": "string", "minLength": 8, "maxLength": 128 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailboxUpdate" } } } }, "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "400": { "description": "Ungültiger Header oder Bezeichner", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Über /v1 können Sie name, password und signature ändern. Die gemeinsame quota_mb wird im Hosting-Panel geändert. Für Dateien gibt es keine separate Quote. Idempotency-Key ist optional, wird aber für Wiederholungen empfohlen." } ``` # GET /v1/mailboxes/{mailbox_id}/folders Ordner und Zähler Gibt eine Liste von Ordnern, die Anzahl der E-Mails total, die Anzahl ungelesener Nachrichten unread und den Wert uidvalidity für jeden Ordner zurück. Verwenden Sie den Ordnernamen und uidvalidity in Abfragen zu seinen Buchstaben. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//folders' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Ordner und Zähler", "operationId": "folders_v1_mailboxes__mailbox_id__folders_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "flags": { "type": "array", "items": { "type": "string" } }, "total": { "type": "integer" }, "unread": { "type": "integer" }, "uidvalidity": { "type": "integer" } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt eine Liste von Ordnern, die Anzahl der E-Mails total, die Anzahl ungelesener Nachrichten unread und den Wert uidvalidity für jeden Ordner zurück. Verwenden Sie den Ordnernamen und uidvalidity in Abfragen zu seinen Buchstaben." } ``` # POST /v1/mailboxes/{mailbox_id}/folders Erstellen eines Ordners Der benutzerdefinierte Ordner wird in IMAP erstellt und steht anderen E-Mail-Clients zur Verfügung. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//folders' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"name":""}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Erstellen eines Ordners", "operationId": "create_folder_v1_mailboxes__mailbox_id__folders_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NameInput" } } } }, "responses": { "201": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Der benutzerdefinierte Ordner wird in IMAP erstellt und steht anderen E-Mail-Clients zur Verfügung." } ``` # GET /v1/mailboxes/{mailbox_id}/messages Liste der E-Mails Gibt bis zu 40 Nachrichten zurück, vom neuen UID bis zum alten. Übergeben Sie für die nächste Seite next_before als before.. Für next_before=null gibt es keine weiteren Seiten. Beim Lesen wird das Leseflag nicht gesetzt. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Liste der E-Mails", "operationId": "messages_v1_mailboxes__mailbox_id__messages_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "folder", "in": "query", "required": false, "schema": { "type": "string", "default": "INBOX", "title": "Folder" } }, { "name": "q", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 200, "default": "", "title": "Q" } }, { "name": "before", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "exclusiveMinimum": 0 }, { "type": "null" } ], "title": "Before" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/MessageSummary" } }, "next_before": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "uidvalidity": { "type": "integer" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt bis zu 40 Nachrichten zurück, vom neuen UID bis zum alten. Übergeben Sie für die nächste Seite next_before als before.. Für next_before=null gibt es keine weiteren Seiten. Beim Lesen wird das Leseflag nicht gesetzt." } ``` # GET /v1/mailboxes/{mailbox_id}/messages/{uid} E-Mail-Inhalt Senden Sie folder, uidvalidity und uid aus der Mailingliste. HTML gelöscht, externe Bilder sind nicht enthalten. Um einen E-Mail als gelesen zu markieren, führen Sie eine separate Aktion aus: read. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages/?uidvalidity=' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "E-Mail-Inhalt", "operationId": "message_v1_mailboxes__mailbox_id__messages__uid__get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "uid", "in": "path", "required": true, "schema": { "type": "integer", "title": "Uid" } }, { "name": "uidvalidity", "in": "query", "required": true, "schema": { "type": "integer", "title": "Uidvalidity" } }, { "name": "folder", "in": "query", "required": false, "schema": { "type": "string", "default": "INBOX", "title": "Folder" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Senden Sie folder, uidvalidity und uid aus der Mailingliste. HTML gelöscht, externe Bilder sind nicht enthalten. Um einen E-Mail als gelesen zu markieren, führen Sie eine separate Aktion aus: read." } ``` # POST /v1/mailboxes/{mailbox_id}/messages/actions Aktionen mit Nachrichten Wendet eine Aktion auf ausgewählte Nachrichten in einem Ordner an. Übergeben Sie ihre IDs an uids, den Ordnernamen an folder und seinen uidvalidity.. Geben Sie für action=move auch den Zielordner an destination. an. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//messages/actions' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"folder":"INBOX","uidvalidity":1,"uids":[1],"action":"read"}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Aktionen mit Nachrichten", "operationId": "action_v1_mailboxes__mailbox_id__messages_actions_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAction" } } } }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Wendet eine Aktion auf ausgewählte Nachrichten in einem Ordner an. Übergeben Sie ihre IDs an uids, den Ordnernamen an folder und seinen uidvalidity.. Geben Sie für action=move auch den Zielordner an destination. an." } ``` # GET /v1/mailboxes/{mailbox_id}/messages/{uid}/eml Laden Sie den E-Mail unter EML herunter. Gibt die ursprünglichen MIME-bytes mit Headern und Anhängen zurück. Ändert die Lesbarkeit nicht. PDF wird per Ausdruck im Browser erstellt; Es gibt keine separate PDF-route. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages//eml?uidvalidity=' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Laden Sie den E-Mail unter EML herunter.", "operationId": "export_eml_v1_mailboxes__mailbox_id__messages__uid__eml_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "uid", "in": "path", "required": true, "schema": { "type": "integer", "title": "Uid" } }, { "name": "uidvalidity", "in": "query", "required": true, "schema": { "type": "integer", "title": "Uidvalidity" } }, { "name": "folder", "in": "query", "required": false, "schema": { "type": "string", "default": "INBOX", "title": "Folder" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "message/rfc822": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt die ursprünglichen MIME-bytes mit Headern und Anhängen zurück. Ändert die Lesbarkeit nicht. PDF wird per Ausdruck im Browser erstellt; Es gibt keine separate PDF-route." } ``` # GET /v1/mailboxes/{mailbox_id}/messages/{uid}/attachments/{index} Anhang herunterladen Für DOC, XLS, XLSX, PPT, PPTX und ODT preview=pdf zur Inhaltsanfrage für Dateien oder Anhänge hinzufügen. Maximal 10 Konvertierungen pro Minute und Postfach. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages//attachments/?uidvalidity=' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Anhang herunterladen", "operationId": "attachment_v1_mailboxes__mailbox_id__messages__uid__attachments__index__get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "uid", "in": "path", "required": true, "schema": { "type": "integer", "title": "Uid" } }, { "name": "index", "in": "path", "required": true, "schema": { "type": "integer", "title": "Index" } }, { "name": "uidvalidity", "in": "query", "required": true, "schema": { "type": "integer", "title": "Uidvalidity" } }, { "name": "folder", "in": "query", "required": false, "schema": { "type": "string", "default": "INBOX", "title": "Folder" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } }, { "name": "preview", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "pdf" ] } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "application/pdf": { "schema": { "type": "string", "format": "binary" } } }, "headers": { "X-File-Scan": { "schema": { "type": "string" } }, "X-File-Scanned-At": { "schema": { "type": "string" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Für DOC, XLS, XLSX, PPT, PPTX und ODT preview=pdf zur Inhaltsanfrage für Dateien oder Anhänge hinzufügen. Maximal 10 Konvertierungen pro Minute und Postfach." } ``` # POST /v1/mailboxes/{mailbox_id}/send Schicken Sie einen E-Mail Erforderlich Idempotency-Key 8–128 Zeichen lang. Das Wiederholen mit demselben Schlüssel und Körper führt zum gleichen Vorgang. Ein anderer Körper gibt 409. HTTP 202 bedeutet Warteschlange. Überprüfen Sie den Status des Vorgangs, nicht die Tatsache, dass eine Antwort eingegangen ist. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//send' \ -H 'Authorization: Bearer ' \ -H 'Idempotency-Key: message-20261019-0001' \ -H 'Content-Type: application/json' \ --data '{"to":["team@example.com"],"subject":"Hello","text":"A message from Adapt Mail"}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Schicken Sie einen E-Mail", "operationId": "send_v1_mailboxes__mailbox_id__send_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } }, { "in": "header", "name": "Idempotency-Key", "required": true, "schema": { "type": "string", "minLength": 8, "maxLength": 128 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendInput" } } } }, "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "400": { "description": "Ungültiger Header oder Bezeichner", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "413": { "description": "Größe überschritten", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Erforderlich Idempotency-Key 8–128 Zeichen lang. Das Wiederholen mit demselben Schlüssel und Körper führt zum gleichen Vorgang. Ein anderer Körper gibt 409. HTTP 202 bedeutet Warteschlange. Überprüfen Sie den Status des Vorgangs, nicht die Tatsache, dass eine Antwort eingegangen ist." } ``` # GET /v1/operations Liste der Operationen Gibt die letzten 100 Vorgänge zurück. Eine Sitzung eines einzelnen Postfachs sieht nur seine Vorgänge. ```sh curl -X GET 'https://adapt-mail.com/v1/operations' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Liste der Operationen", "operationId": "operations_v1_operations_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Operation" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt die letzten 100 Vorgänge zurück. Eine Sitzung eines einzelnen Postfachs sieht nur seine Vorgänge." } ``` # GET /v1/operations/{operation_id} Betriebsstatus Gibt den aktuellen Status einer Operation anhand ihrer id. zurück. Während status gleich queued oder running ist, ist die Operation nicht abgeschlossen. Überprüfen Sie nach Abschluss result auf Erfolg oder error auf Fehler. ```sh curl -X GET 'https://adapt-mail.com/v1/operations/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Betriebsstatus", "operationId": "operation_v1_operations__operation_id__get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "operation_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Operation Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt den aktuellen Status einer Operation anhand ihrer id. zurück. Während status gleich queued oder running ist, ist die Operation nicht abgeschlossen. Überprüfen Sie nach Abschluss result auf Erfolg oder error auf Fehler." } ``` # POST /v1/operations/{operation_id}/cancel Senden abbrechen Bricht den Versand eines Briefs ab, während sich der Vorgang im Status queued. befindet. Wenn der Versand bereits begonnen, abgeschlossen oder abgebrochen wurde, wird eine 409 zurückgegeben. Mit dieser Methode können Sie einen bereits versendeten Brief nicht zurückrufen. ```sh curl -X POST 'https://adapt-mail.com/v1/operations//cancel' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Senden abbrechen", "operationId": "cancel_v1_operations__operation_id__cancel_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "operation_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Operation Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "cancelled": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bricht den Versand eines Briefs ab, während sich der Vorgang im Status queued. befindet. Wenn der Versand bereits begonnen, abgeschlossen oder abgebrochen wurde, wird eine 409 zurückgegeben. Mit dieser Methode können Sie einen bereits versendeten Brief nicht zurückrufen." } ``` # POST /v1/operations/{operation_id}/retry Wiederholen Sie den Vorgang Startet die Anwendung der Absenderregeln neu: kind=sender_rules, status=failed. Das Versenden von Briefen kann mit dieser Methode nicht wiederholt werden. Für einen ungeeigneten Zustand wird 409 zurückgegeben; Das Wiederholen der Erstellung und Konfiguration eines Postfachs mit dieser Methode ist nicht möglich und gibt 403 zurück. ```sh curl -X POST 'https://adapt-mail.com/v1/operations//retry' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Wiederholen Sie den Vorgang", "operationId": "retry_operation_v1_operations__operation_id__retry_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "operation_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Operation Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Startet die Anwendung der Absenderregeln neu: kind=sender_rules, status=failed. Das Versenden von Briefen kann mit dieser Methode nicht wiederholt werden. Für einen ungeeigneten Zustand wird 409 zurückgegeben; Das Wiederholen der Erstellung und Konfiguration eines Postfachs mit dieser Methode ist nicht möglich und gibt 403 zurück." } ``` # PUT /v1/mailboxes/{mailbox_id}/drafts/{draft_id} Entwurf speichern Erstellt oder aktualisiert einen Entwurf bis draft_id.. Für einen neuen Entwurf generieren Sie UUID; Verwenden Sie für nachfolgende Speicherungen dieselbe Kennung. Sie können Ihren Entwurf von einem anderen Gerät aus fortsetzen, nachdem Sie sich bei derselben Mailbox angemeldet haben. ```sh curl -X PUT 'https://adapt-mail.com/v1/mailboxes//drafts/' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"to":["team@example.com"],"subject":"Hello","text":"A message from Adapt Mail"}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Entwurf speichern", "operationId": "save_draft_v1_mailboxes__mailbox_id__drafts__draft_id__put", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "draft_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Draft Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DraftInput" } } } }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Erstellt oder aktualisiert einen Entwurf bis draft_id.. Für einen neuen Entwurf generieren Sie UUID; Verwenden Sie für nachfolgende Speicherungen dieselbe Kennung. Sie können Ihren Entwurf von einem anderen Gerät aus fortsetzen, nachdem Sie sich bei derselben Mailbox angemeldet haben." } ``` # DELETE /v1/mailboxes/{mailbox_id}/drafts/{draft_id} Entwurf löschen Das Löschen eines Entwurfs hat keine Auswirkungen auf E-Mails, die sich bereits in der Warteschlange befinden. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//drafts/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Entwurf löschen", "operationId": "delete_draft_v1_mailboxes__mailbox_id__drafts__draft_id__delete", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "draft_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Draft Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Das Löschen eines Entwurfs hat keine Auswirkungen auf E-Mails, die sich bereits in der Warteschlange befinden." } ``` # GET /v1/mailboxes/{mailbox_id}/drafts Liste der Entwürfe Gibt bis zu 100 Entwürfe zurück, vom neuesten zum ältesten. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//drafts' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Liste der Entwürfe", "operationId": "drafts_v1_mailboxes__mailbox_id__drafts_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "mailbox_id": { "type": "integer" }, "data": { "$ref": "#/components/schemas/DraftInput" }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt bis zu 100 Entwürfe zurück, vom neuesten zum ältesten." } ``` # GET /v1/mailboxes/{mailbox_id}/threads Liste der Dialoge Gibt bis zu 100 Dialoge zurück, beginnend mit den zuletzt aktualisierten. Nachrichten aus den Ordnern Trash und Junk sind nicht in der Liste enthalten. Der neue Brief erscheint möglicherweise mit einer leichten Verzögerung; Wiederholen Sie die Anforderung, um die Liste zu aktualisieren. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//threads' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Liste der Dialoge", "operationId": "threads_v1_mailboxes__mailbox_id__threads_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "thread_id": { "type": "string" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "messages": { "type": "integer" }, "unread": { "type": "integer" }, "senders": { "type": "array", "items": { "type": "string" } }, "subject": { "type": "string" }, "sender": { "type": "string" } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt bis zu 100 Dialoge zurück, beginnend mit den zuletzt aktualisierten. Nachrichten aus den Ordnern Trash und Junk sind nicht in der Liste enthalten. Der neue Brief erscheint möglicherweise mit einer leichten Verzögerung; Wiederholen Sie die Anforderung, um die Liste zu aktualisieren." } ``` # GET /v1/mailboxes/{mailbox_id}/threads/{thread_id} Dialogbriefe Gibt bis zu 100 Buchstaben der ausgewählten Konversation zurück, vom alten zum neuen. Übergeben Sie thread_id aus der Dialogliste. E-Mails, die bereits gelöscht wurden oder nicht mehr verfügbar sind, werden nicht in die Antwort einbezogen. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//threads/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Dialogbriefe", "operationId": "thread_v1_mailboxes__mailbox_id__threads__thread_id__get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "thread_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Thread Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Message" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt bis zu 100 Buchstaben der ausgewählten Konversation zurück, vom alten zum neuen. Übergeben Sie thread_id aus der Dialogliste. E-Mails, die bereits gelöscht wurden oder nicht mehr verfügbar sind, werden nicht in die Antwort einbezogen." } ``` # PUT /v1/mailboxes/{mailbox_id}/sender-rules Absenderregel Erstellt oder aktualisiert eine Regel für die Adresse sender.. Geben Sie action=spam an, um neue E-Mails des Absenders an Spam weiterzuleiten, oder action=allow, um seine E-Mails zuzulassen. Die Regel gilt für zukünftige eingehende E-Mails. ```sh curl -X PUT 'https://adapt-mail.com/v1/mailboxes//sender-rules' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"sender":"sender@example.com","action":"spam"}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Absenderregel", "operationId": "sender_rule_v1_mailboxes__mailbox_id__sender_rules_put", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SenderRule" } } } }, "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Erstellt oder aktualisiert eine Regel für die Adresse sender.. Geben Sie action=spam an, um neue E-Mails des Absenders an Spam weiterzuleiten, oder action=allow, um seine E-Mails zuzulassen. Die Regel gilt für zukünftige eingehende E-Mails." } ``` # GET /v1/mailboxes/{mailbox_id}/sender-rules Liste der Absenderregeln Gibt die Absenderregeln für das ausgewählte Postfach zurück. Jede Regel enthält eine Adresse sender, eine Aktion action und eine Kennung id für die spätere Löschung. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//sender-rules' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Liste der Absenderregeln", "operationId": "rules_v1_mailboxes__mailbox_id__sender_rules_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "mailbox_id": { "type": "integer" }, "sender": { "type": "string" }, "action": { "type": "string", "enum": [ "spam", "allow" ] }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt die Absenderregeln für das ausgewählte Postfach zurück. Jede Regel enthält eine Adresse sender, eine Aktion action und eine Kennung id für die spätere Löschung." } ``` # DELETE /v1/mailboxes/{mailbox_id}/sender-rules/{rule_id} Löschen Sie eine Absenderregel Entfernt die Absenderregel um rule_id.. Nachfolgende Nachrichten werden durch allgemeine E-Mail-Regeln verarbeitet. Bereits empfangene Nachrichten verbleiben in ihren Ordnern. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//sender-rules/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Löschen Sie eine Absenderregel", "operationId": "delete_rule_v1_mailboxes__mailbox_id__sender_rules__rule_id__delete", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "rule_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Rule Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Entfernt die Absenderregel um rule_id.. Nachfolgende Nachrichten werden durch allgemeine E-Mail-Regeln verarbeitet. Bereits empfangene Nachrichten verbleiben in ihren Ordnern." } ``` # GET /v1/mailboxes/{mailbox_id}/contacts Kontaktliste Gibt bis zu 1000 Kontakte sortiert nach Namen zurück. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//contacts' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Kontaktliste", "operationId": "contacts_v1_mailboxes__mailbox_id__contacts_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ContactResponse" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt bis zu 1000 Kontakte sortiert nach Namen zurück." } ``` # POST /v1/mailboxes/{mailbox_id}/contacts Kontakt speichern Speichert den Namen und die Adresse des Kontakts im ausgewählten Postfach. Wenn ein Kontakt mit demselben email bereits vorhanden ist, wird sein Name aktualisiert, ohne ein Duplikat zu erstellen. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//contacts' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"email":"team@example.com","name":"Support team"}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Kontakt speichern", "operationId": "add_contact_v1_mailboxes__mailbox_id__contacts_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Contact" } } } }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactResponse" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Speichert den Namen und die Adresse des Kontakts im ausgewählten Postfach. Wenn ein Kontakt mit demselben email bereits vorhanden ist, wird sein Name aktualisiert, ohne ein Duplikat zu erstellen." } ``` # DELETE /v1/mailboxes/{mailbox_id}/contacts/{contact_id} Kontakt löschen Durch das Löschen eines Kontakts werden keine Nachrichten gelöscht. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//contacts/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Kontakt löschen", "operationId": "remove_contact_v1_mailboxes__mailbox_id__contacts__contact_id__delete", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "contact_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Contact Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Durch das Löschen eines Kontakts werden keine Nachrichten gelöscht." } ``` # GET /v1/mailboxes/{mailbox_id}/files Liste der Dateien Gibt bis zu 1000 fertige Dateien des ausgewählten Postfachs zurück. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//files' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Liste der Dateien", "operationId": "files_v1_mailboxes__mailbox_id__files_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "filename": { "type": "string" }, "content_type": { "type": "string" }, "size_bytes": { "type": "integer" }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gibt bis zu 1000 fertige Dateien des ausgewählten Postfachs zurück." } ``` # POST /v1/mailboxes/{mailbox_id}/files Datei hochladen multipart/form-data, Feld file. Größe von 1 Byte bis 25 MiB. Das Antivirenprogramm prüft die Datei vor dem Herunterladen. Unzureichendes Kontingent ergibt 409, Übergröße – 413, erkannte Bedrohung – 422, nicht verfügbare Prüfung – 503. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//files' \ -H 'Authorization: Bearer ' \ -F 'file=@document.pdf' ``` ```json { "tags": [ "Файлы" ], "summary": "Datei hochladen", "operationId": "upload_v1_mailboxes__mailbox_id__files_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_v1_mailboxes__mailbox_id__files_post" } } } }, "responses": { "201": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/File" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "413": { "description": "Größe überschritten", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "multipart/form-data, Feld file. Größe von 1 Byte bis 25 MiB. Das Antivirenprogramm prüft die Datei vor dem Herunterladen. Unzureichendes Kontingent ergibt 409, Übergröße – 413, erkannte Bedrohung – 422, nicht verfügbare Prüfung – 503." } ``` # GET /v1/mailboxes/{mailbox_id}/files/{file_id}/download Datei herunterladen Die Antwort enthält Dateibytes mit Content-Disposition: attachment.. Der Link erfordert eine Autorisierung bei jeder Anfrage; Der öffentliche Speicher URL wird nicht ausgegeben. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//files//download' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Datei herunterladen", "operationId": "download_v1_mailboxes__mailbox_id__files__file_id__download_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "file_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "File Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }, "headers": { "X-File-Scan": { "schema": { "type": "string" } }, "X-File-Scanned-At": { "schema": { "type": "string" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Die Antwort enthält Dateibytes mit Content-Disposition: attachment.. Der Link erfordert eine Autorisierung bei jeder Anfrage; Der öffentliche Speicher URL wird nicht ausgegeben." } ``` # GET /v1/mailboxes/{mailbox_id}/files/{file_id}/content Dateiinhalte Für DOC, XLS, XLSX, PPT, PPTX und ODT preview=pdf zur Inhaltsanfrage für Dateien oder Anhänge hinzufügen. Maximal 10 Konvertierungen pro Minute und Postfach. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//files//content' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Dateiinhalte", "operationId": "content_v1_mailboxes__mailbox_id__files__file_id__content_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "file_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "File Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } }, { "name": "preview", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "pdf" ] } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "application/pdf": { "schema": { "type": "string", "format": "binary" } } }, "headers": { "X-File-Scan": { "schema": { "type": "string" } }, "X-File-Scanned-At": { "schema": { "type": "string" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Für DOC, XLS, XLSX, PPT, PPTX und ODT preview=pdf zur Inhaltsanfrage für Dateien oder Anhänge hinzufügen. Maximal 10 Konvertierungen pro Minute und Postfach." } ``` # DELETE /v1/mailboxes/{mailbox_id}/files/{file_id} Datei löschen Eine unvollständige Einreichungsdatei kann nicht gelöscht werden: Antwort 409. Das Kontingent wird nach dem Löschen freigegeben. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//files/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Datei löschen", "operationId": "remove_v1_mailboxes__mailbox_id__files__file_id__delete", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "file_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "File Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "type": "boolean" } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eine unvollständige Einreichungsdatei kann nicht gelöscht werden: Antwort 409. Das Kontingent wird nach dem Löschen freigegeben." } ``` # POST /v1/auth/login-link Anmeldelink erstellen Ihr Server ruft POST /v1/auth/login-link mit X-API-Key und X-Customer-ID auf. Mit mailbox_id wird nur dieses Postfach geöffnet; ohne das Feld das gesamte Konto. locale legt die Sprache der Oberfläche fest. ```sh curl -X POST 'https://adapt-mail.com/v1/auth/login-link' \ -H 'X-API-Key: ' \ -H 'X-Customer-ID: ' \ -H 'Content-Type: application/json' \ --data '{"mailbox_id":1,"locale":"en"}' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Anmeldelink erstellen", "operationId": "login_link_v1_auth_login_link_post", "security": [ { "PartnerKey": [], "Customer": [] } ], "parameters": [ { "name": "X-Customer-ID", "in": "header", "required": true, "schema": { "type": "integer", "minimum": 1 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginLinkInput" } } } }, "responses": { "201": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginLinkResult" } } } }, "401": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Ihr Server ruft POST /v1/auth/login-link mit X-API-Key und X-Customer-ID auf. Mit mailbox_id wird nur dieses Postfach geöffnet; ohne das Feld das gesamte Konto. locale legt die Sprache der Oberfläche fest." } ``` # POST /v1/auth/login-link/consume Link gegen eine Sitzung eintauschen Nur für die Anmeldeseite adapt-mail.com: POST mit Origin: https://adapt-mail.com. Liefert session_id und HttpOnly-Cookies. Bereits verwendeter oder abgelaufener Link: HTTP 410. ```sh curl -X POST 'https://adapt-mail.com/v1/auth/login-link/consume' \ -H 'Origin: https://adapt-mail.com' \ -c cookies.txt \ -H 'Content-Type: application/json' \ --data '{"token":""}' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Link gegen eine Sitzung eintauschen", "operationId": "consume_login_link_v1_auth_login_link_consume_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginLinkConsume" } } }, "required": true }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserSessionResult" } } } }, "403": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "410": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Anfragefehler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Nur für die Anmeldeseite adapt-mail.com: POST mit Origin: https://adapt-mail.com. Liefert session_id und HttpOnly-Cookies. Bereits verwendeter oder abgelaufener Link: HTTP 410.", "security": [] } ``` # GET /v1/mailboxes/{mailbox_id}/templates E-Mail-Vorlagen Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//templates' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "E-Mail-Vorlagen", "operationId": "templates_v1_mailboxes__mailbox_id__templates_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateRecord" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail." } ``` # POST /v1/mailboxes/{mailbox_id}/templates E-Mail-Vorlagen Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//templates' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"name":""}' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "E-Mail-Vorlagen", "operationId": "create_template_v1_mailboxes__mailbox_id__templates_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailTemplate" } } } }, "responses": { "201": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateRecord" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail." } ``` # PUT /v1/mailboxes/{mailbox_id}/templates/{template_id} E-Mail-Vorlagen Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail. ```sh curl -X PUT 'https://adapt-mail.com/v1/mailboxes//templates/' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"name":""}' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "E-Mail-Vorlagen", "operationId": "update_template_v1_mailboxes__mailbox_id__templates__template_id__put", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "template_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Template Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailTemplate" } } } }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateRecord" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail." } ``` # DELETE /v1/mailboxes/{mailbox_id}/templates/{template_id} E-Mail-Vorlagen Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//templates/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "E-Mail-Vorlagen", "operationId": "delete_template_v1_mailboxes__mailbox_id__templates__template_id__delete", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "template_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Template Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "const": true } } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bis zu 100 Vorlagen pro Postfach. Felder: name, subject, text und html; HTML wird bereinigt. Eine Vorlage versendet selbst keine E-Mail." } ``` # GET /v1/mailboxes/{mailbox_id}/autoresponder Automatische Antwort Datumsangaben für automatische Antworten benötigen eine Zeitzone; repeat_days liegt zwischen 1 und 30. Antworten gelten nur für neue persönliche Nachrichten: From muss mit Return-Path übereinstimmen. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//autoresponder' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Automatische Antwort", "operationId": "autoresponder_v1_mailboxes__mailbox_id__autoresponder_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Autoresponder" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Datumsangaben für automatische Antworten benötigen eine Zeitzone; repeat_days liegt zwischen 1 und 30. Antworten gelten nur für neue persönliche Nachrichten: From muss mit Return-Path übereinstimmen." } ``` # PUT /v1/mailboxes/{mailbox_id}/autoresponder Automatische Antwort Datumsangaben für automatische Antworten benötigen eine Zeitzone; repeat_days liegt zwischen 1 und 30. Antworten gelten nur für neue persönliche Nachrichten: From muss mit Return-Path übereinstimmen. ```sh curl -X PUT 'https://adapt-mail.com/v1/mailboxes//autoresponder' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"enabled":false,"subject":"","text":"","starts_at":"2026-11-01T12:00:00Z","ends_at":"2026-11-01T12:00:00Z","repeat_days":7}' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Automatische Antwort", "operationId": "set_autoresponder_v1_mailboxes__mailbox_id__autoresponder_put", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Autoresponder" } } } }, "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Autoresponder" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Datumsangaben für automatische Antworten benötigen eine Zeitzone; repeat_days liegt zwischen 1 und 30. Antworten gelten nur für neue persönliche Nachrichten: From muss mit Return-Path übereinstimmen." } ``` # GET /v1/mailboxes/{mailbox_id}/filters Filter Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//filters' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Filter", "operationId": "filters_v1_mailboxes__mailbox_id__filters_get", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "200": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FilterRecord" } } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen." } ``` # POST /v1/mailboxes/{mailbox_id}/filters Filter Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//filters' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"name":"","conditions":[{"field":"from","operator":"contains","value":""}]}' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Filter", "operationId": "create_filter_v1_mailboxes__mailbox_id__filters_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailFilter" } } } }, "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilterChange" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen." } ``` # PUT /v1/mailboxes/{mailbox_id}/filters/{filter_id} Filter Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen. ```sh curl -X PUT 'https://adapt-mail.com/v1/mailboxes//filters/' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"name":"","conditions":[{"field":"from","operator":"contains","value":""}]}' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Filter", "operationId": "update_filter_v1_mailboxes__mailbox_id__filters__filter_id__put", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "filter_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Filter Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailFilter" } } } }, "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilterChange" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen." } ``` # DELETE /v1/mailboxes/{mailbox_id}/filters/{filter_id} Filter Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//filters/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Filter", "operationId": "delete_filter_v1_mailboxes__mailbox_id__filters__filter_id__delete", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "filter_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Filter Id" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen." } ``` # POST /v1/mailboxes/{mailbox_id}/filters/{filter_id}/apply Auf vorhandene Nachrichten anwenden Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//filters//apply' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Auf vorhandene Nachrichten anwenden", "operationId": "apply_filter_v1_mailboxes__mailbox_id__filters__filter_id__apply_post", "security": [ { "PartnerKey": [], "Customer": [] }, { "Session": [] }, { "Browser": [] } ], "parameters": [ { "name": "mailbox_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Mailbox Id" } }, { "name": "filter_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Filter Id" } }, { "name": "idempotency-key", "in": "header", "required": true, "schema": { "type": "string", "minLength": 8, "maxLength": 120, "title": "Idempotency-Key" } }, { "name": "X-Customer-ID", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Customer-Id" } } ], "responses": { "202": { "description": "Erfolgreiche Antwort", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Anmeldung erforderlich", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Kein Zugriff", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Ressource nicht gefunden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Staatskonflikt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Vorübergehende Nichtverfügbarkeit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eine Filteränderung gibt operation zurück. Für bestehende Nachrichten ist ein Idempotency-Key mit 8–120 Zeichen erforderlich. Bei Wiederholungen denselben Schlüssel verwenden; Status über GET /v1/operations/{operation_id} prüfen." } ``` # Schemas ```json { "Body_upload_v1_mailboxes__mailbox_id__files_post": { "properties": { "file": { "type": "string", "format": "binary", "title": "File" } }, "type": "object", "required": [ "file" ], "title": "Body_upload_v1_mailboxes__mailbox_id__files_post" }, "Contact": { "properties": { "email": { "type": "string", "title": "Email" }, "name": { "type": "string", "maxLength": 120, "minLength": 1, "title": "Name" } }, "additionalProperties": false, "type": "object", "required": [ "email", "name" ], "title": "Contact", "example": { "email": "team@example.com", "name": "Support team" } }, "DraftInput": { "properties": { "to": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "To", "description": "Adressen der Hauptempfänger." }, "cc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Cc", "description": "Kopieren Sie Empfängeradressen, die für andere Teilnehmer sichtbar sind." }, "bcc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Bcc", "description": "Bcc-Empfängeradressen." }, "subject": { "type": "string", "maxLength": 998, "title": "Subject", "default": "", "description": "Betreff des Briefes." }, "text": { "type": "string", "maxLength": 200000, "title": "Text", "default": "", "description": "Der Text des Briefes ohne Formatierung." }, "html": { "anyOf": [ { "type": "string", "maxLength": 300000 }, { "type": "null" } ], "title": "Html", "description": "HTML-formatierte Version des Briefes." }, "file_ids": { "items": { "type": "string", "format": "uuid" }, "type": "array", "maxItems": 20, "title": "File Ids", "description": "ID zuvor heruntergeladene Dateien in diesem Postfach. Erhalten Sie sie beim Herunterladen oder aus der Dateiliste." }, "forward_message": { "anyOf": [ { "$ref": "#/components/schemas/MessageReference" }, { "type": "null" } ], "description": "Die ursprüngliche E-Mail, deren Anhänge weitergeleitet werden müssen." }, "reply_to_message_id": { "anyOf": [ { "type": "string", "maxLength": 998 }, { "type": "null" } ], "title": "Reply To Message Id", "description": "Der message_id-Wert der E-Mail, auf die Sie antworten." }, "references": { "anyOf": [ { "type": "string", "maxLength": 4000 }, { "type": "null" } ], "title": "References", "description": "Der Wert references der Originalnachricht zum Speichern der Antwortkette." }, "send_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Send At", "description": "Verzögerte Versandzeit mit Zeitzone, zum Beispiel 2026-11-01T12:00:00Z. Ohne einen Wert beginnt der Versand, während die Warteschlange verarbeitet wird." } }, "additionalProperties": false, "type": "object", "title": "DraftInput", "example": { "to": [ "team@example.com" ], "subject": "Hello", "text": "A message from Adapt Mail" } }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "Login": { "properties": { "login": { "type": "string", "title": "Login" }, "password": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Password" }, "mode": { "type": "string", "enum": [ "account", "mailbox" ], "title": "Mode", "default": "account" } }, "additionalProperties": false, "type": "object", "required": [ "login", "password" ], "title": "Login" }, "MailboxUpdate": { "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 120, "minLength": 1 }, { "type": "null" } ], "title": "Name" }, "quota_mb": { "anyOf": [ { "type": "integer", "minimum": 10240 }, { "type": "null" } ], "title": "Quota Mb" }, "file_quota_mb": { "anyOf": [ { "type": "integer", "maximum": 512000, "minimum": 256 }, { "type": "null" } ], "title": "File Quota Mb" }, "password": { "anyOf": [ { "type": "string", "maxLength": 128, "minLength": 12 }, { "type": "null" } ], "title": "Password" }, "signature": { "anyOf": [ { "type": "string", "maxLength": 5000 }, { "type": "null" } ], "title": "Signature" } }, "additionalProperties": false, "type": "object", "title": "MailboxUpdate", "example": { "name": "Support", "signature": "Support team" } }, "MessageAction": { "properties": { "folder": { "type": "string", "maxLength": 255, "minLength": 1, "title": "Folder", "description": "Ordnername aus der Ordnerliste, zum Beispiel INBOX." }, "uidvalidity": { "type": "integer", "exclusiveMinimum": 0, "title": "Uidvalidity", "description": "Der Wert ist uidvalidity aus der Antwort API für diesen Ordner." }, "uids": { "items": { "type": "integer" }, "type": "array", "maxItems": 100, "minItems": 1, "title": "Uids", "description": "Kennungen ausgewählter Buchstaben aus einem Ordner." }, "action": { "type": "string", "enum": [ "read", "unread", "star", "unstar", "move", "delete" ], "title": "Action" }, "destination": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Destination", "description": "Name des Zielordners. Erforderlich für action=move." } }, "additionalProperties": false, "type": "object", "required": [ "folder", "uidvalidity", "uids", "action" ], "title": "MessageAction" }, "MessageReference": { "properties": { "folder": { "type": "string", "maxLength": 255, "minLength": 1, "title": "Folder", "description": "Ordnername aus der Ordnerliste, zum Beispiel INBOX." }, "uidvalidity": { "type": "integer", "exclusiveMinimum": 0, "title": "Uidvalidity", "description": "Der Wert ist uidvalidity aus der Antwort API für diesen Ordner." }, "uid": { "type": "integer", "exclusiveMinimum": 0, "title": "Uid" } }, "additionalProperties": false, "type": "object", "required": [ "folder", "uidvalidity", "uid" ], "title": "MessageReference" }, "NameInput": { "properties": { "name": { "type": "string", "maxLength": 120, "minLength": 1, "title": "Name" } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "title": "NameInput" }, "SendInput": { "properties": { "to": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "minItems": 1, "title": "To", "description": "Adressen der Hauptempfänger." }, "cc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Cc", "description": "Kopieren Sie Empfängeradressen, die für andere Teilnehmer sichtbar sind." }, "bcc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Bcc", "description": "Bcc-Empfängeradressen." }, "subject": { "type": "string", "maxLength": 998, "title": "Subject", "default": "", "description": "Betreff des Briefes." }, "text": { "type": "string", "maxLength": 200000, "title": "Text", "default": "", "description": "Der Text des Briefes ohne Formatierung." }, "html": { "anyOf": [ { "type": "string", "maxLength": 300000 }, { "type": "null" } ], "title": "Html", "description": "HTML-formatierte Version des Briefes." }, "file_ids": { "items": { "type": "string", "format": "uuid" }, "type": "array", "maxItems": 20, "title": "File Ids", "description": "ID zuvor heruntergeladene Dateien in diesem Postfach. Erhalten Sie sie beim Herunterladen oder aus der Dateiliste." }, "forward_message": { "anyOf": [ { "$ref": "#/components/schemas/MessageReference" }, { "type": "null" } ], "description": "Die ursprüngliche E-Mail, deren Anhänge weitergeleitet werden müssen." }, "reply_to_message_id": { "anyOf": [ { "type": "string", "maxLength": 998 }, { "type": "null" } ], "title": "Reply To Message Id", "description": "Der message_id-Wert der E-Mail, auf die Sie antworten." }, "references": { "anyOf": [ { "type": "string", "maxLength": 4000 }, { "type": "null" } ], "title": "References", "description": "Der Wert references der Originalnachricht zum Speichern der Antwortkette." }, "send_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Send At", "description": "Verzögerte Versandzeit mit Zeitzone, zum Beispiel 2026-11-01T12:00:00Z. Ohne einen Wert beginnt der Versand, während die Warteschlange verarbeitet wird." } }, "additionalProperties": false, "type": "object", "required": [ "to" ], "title": "SendInput", "example": { "to": [ "team@example.com" ], "subject": "Hello", "text": "A message from Adapt Mail" } }, "SenderRule": { "properties": { "sender": { "type": "string", "title": "Sender" }, "action": { "type": "string", "enum": [ "spam", "allow" ], "title": "Action", "default": "spam" } }, "additionalProperties": false, "type": "object", "required": [ "sender" ], "title": "SenderRule", "example": { "sender": "sender@example.com", "action": "spam" } }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "Address": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" } } }, "MessageSummary": { "type": "object", "properties": { "uid": { "type": "integer" }, "uidvalidity": { "type": "integer" }, "folder": { "type": "string" }, "message_id": { "type": "string" }, "thread_id": { "type": "string" }, "sender": { "type": "string" }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/Address" } }, "subject": { "type": "string" }, "preview": { "type": "string" }, "flags": { "type": "array", "items": { "type": "string" } }, "size_bytes": { "type": "integer" }, "received_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } }, "Attachment": { "type": "object", "properties": { "index": { "type": "integer" }, "filename": { "type": "string" }, "content_type": { "type": "string" }, "size_bytes": { "type": "integer" } } }, "Message": { "type": "object", "properties": { "uid": { "type": "integer" }, "uidvalidity": { "type": "integer" }, "folder": { "type": "string" }, "message_id": { "type": "string" }, "thread_id": { "type": "string" }, "sender": { "type": "string" }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/Address" } }, "subject": { "type": "string" }, "preview": { "type": "string" }, "flags": { "type": "array", "items": { "type": "string" } }, "size_bytes": { "type": "integer" }, "received_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "text": { "type": "string" }, "html": { "type": "string" }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Attachment" } }, "cc": { "type": "array", "items": { "$ref": "#/components/schemas/Address" } }, "references": { "type": "string" }, "reply_to": { "type": "string" } } }, "Operation": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Vorgangs-ID zum Überprüfen des Status und Abbrechen einer ausstehenden Übermittlung." }, "kind": { "type": "string" }, "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "status": { "type": "string", "enum": [ "queued", "running", "succeeded", "failed", "uncertain", "cancelled" ] }, "run_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "completed_at": { "anyOf": [ { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, { "type": "null" } ] }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Der Grund für den Fehler, wenn der Vorgang nicht erfolgreich abgeschlossen wurde." }, "result": { "anyOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ], "description": "Das Ergebnis der Operation. Enthält zum Versenden Informationen über angenommene und abgelehnte Empfänger." } } }, "SendResult": { "type": "object", "properties": { "message_id": { "type": "string" }, "smtp_accepted": { "type": "boolean" }, "sent_saved": { "type": "boolean" }, "accepted_recipients": { "type": "array", "items": { "type": "string" } }, "rejected_recipients": { "type": "array", "items": { "type": "object", "properties": { "email": { "type": "string" }, "code": { "type": "integer" } } } } } }, "Mailbox": { "type": "object", "properties": { "id": { "type": "integer" }, "account_id": { "type": "integer" }, "domain_id": { "type": "integer" }, "email": { "type": "string" }, "name": { "type": "string" }, "quota_mb": { "type": "integer" }, "used_bytes": { "type": "integer" }, "file_quota_bytes": { "type": "integer" }, "file_used_bytes": { "type": "integer" }, "status": { "type": "string" }, "signature": { "type": "string" }, "enabled": { "type": "boolean" }, "access_allowed": { "type": "boolean" }, "paid_until": { "anyOf": [ { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, { "type": "null" } ] }, "ready_at": { "anyOf": [ { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, { "type": "null" } ] }, "delete_after": { "anyOf": [ { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, { "type": "null" } ] }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "reserved_quota_mb": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "outbound_high_limit": { "type": "boolean" }, "outbound_daily_recipient_limit": { "type": "integer" }, "outbound_daily_recipients_used": { "type": "integer" }, "outbound_daily_recipients_remaining": { "type": "integer" }, "outbound_messages_per_minute": { "type": "integer" }, "outbound_minute_messages_used": { "type": "integer" }, "outbound_minute_messages_remaining": { "type": "integer" }, "outbound_recipients_per_message": { "type": "integer" }, "storage_shared": { "type": "boolean", "const": true } } }, "Domain": { "type": "object", "properties": { "id": { "type": "integer" }, "account_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "name": { "type": "string" }, "status": { "type": "string" }, "is_shared": { "type": "boolean" }, "verification_token": { "type": "string" }, "dns_status": { "type": "object" }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } }, "File": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "filename": { "type": "string" }, "content_type": { "type": "string" }, "size_bytes": { "type": "integer" }, "scanned_at": { "anyOf": [ { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, { "type": "null" } ] } } }, "ContactResponse": { "type": "object", "properties": { "id": { "type": "integer" }, "mailbox_id": { "type": "integer" }, "email": { "type": "string" }, "name": { "type": "string" }, "created_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } }, "Error": { "type": "object", "properties": { "detail": { "anyOf": [ { "type": "string" }, { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } } }, { "type": "array", "items": { "type": "object" } } ] } } }, "LoginLinkInput": { "properties": { "mailbox_id": { "anyOf": [ { "type": "integer", "exclusiveMinimum": 0 }, { "type": "null" } ], "title": "Mailbox Id" }, "locale": { "type": "string", "enum": [ "en", "ru", "fr", "es", "de", "zh-cn", "ko", "tr", "hi", "pt-br" ], "title": "Locale", "default": "en" } }, "additionalProperties": false, "type": "object", "title": "LoginLinkInput" }, "LoginLinkConsume": { "properties": { "token": { "type": "string", "pattern": "^[A-Za-z0-9_-]{43}$", "title": "Token" } }, "additionalProperties": false, "type": "object", "required": [ "token" ], "title": "LoginLinkConsume" }, "LoginLinkResult": { "properties": { "login_url": { "type": "string", "title": "Login Url" }, "expires_in": { "type": "integer", "const": 300, "title": "Expires In" }, "expires_at": { "type": "string", "title": "Expires At" }, "account_id": { "type": "integer", "title": "Account Id" }, "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Mailbox Id" } }, "additionalProperties": false, "type": "object", "required": [ "login_url", "expires_in", "expires_at", "account_id", "mailbox_id" ], "title": "LoginLinkResult" }, "BrowserSessionResult": { "properties": { "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Mailbox Id" }, "session_id": { "type": "string", "title": "Session Id" } }, "additionalProperties": false, "type": "object", "required": [ "mailbox_id", "session_id" ], "title": "BrowserSessionResult" }, "MailTemplate": { "properties": { "name": { "type": "string", "maxLength": 120, "minLength": 1, "title": "Name" }, "subject": { "type": "string", "maxLength": 998, "title": "Subject", "default": "" }, "text": { "type": "string", "maxLength": 20000, "title": "Text", "default": "" }, "html": { "type": "string", "maxLength": 30000, "title": "Html", "default": "" } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "title": "MailTemplate" }, "MailFilter": { "properties": { "name": { "type": "string", "maxLength": 120, "minLength": 1, "title": "Name" }, "enabled": { "type": "boolean", "title": "Enabled", "default": true }, "match": { "type": "string", "enum": [ "all", "any" ], "title": "Match", "default": "all" }, "conditions": { "items": { "$ref": "#/components/schemas/FilterCondition" }, "type": "array", "maxItems": 20, "minItems": 1, "title": "Conditions" }, "mark_read": { "type": "boolean", "title": "Mark Read", "default": false }, "important": { "type": "boolean", "title": "Important", "default": false }, "trash": { "type": "boolean", "title": "Trash", "default": false }, "move_to": { "anyOf": [ { "type": "string", "maxLength": 255, "minLength": 1 }, { "type": "null" } ], "title": "Move To" } }, "additionalProperties": false, "type": "object", "required": [ "name", "conditions" ], "title": "MailFilter" }, "FilterCondition": { "properties": { "field": { "type": "string", "enum": [ "from", "to", "cc", "subject" ], "title": "Field" }, "operator": { "type": "string", "enum": [ "contains", "not_contains", "equals", "not_equals" ], "title": "Operator" }, "value": { "type": "string", "maxLength": 200, "minLength": 1, "title": "Value" } }, "additionalProperties": false, "type": "object", "required": [ "field", "operator", "value" ], "title": "FilterCondition" }, "Autoresponder": { "properties": { "enabled": { "type": "boolean", "title": "Enabled", "default": false }, "subject": { "type": "string", "maxLength": 200, "title": "Subject", "default": "" }, "text": { "type": "string", "maxLength": 10000, "title": "Text", "default": "" }, "starts_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Starts At" }, "ends_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Ends At" }, "repeat_days": { "type": "integer", "maximum": 30, "minimum": 1, "title": "Repeat Days", "default": 7 } }, "additionalProperties": false, "type": "object", "title": "Autoresponder" }, "TemplateRecord": { "type": "object", "required": [ "id", "data", "updated_at" ], "properties": { "id": { "type": "integer" }, "data": { "$ref": "#/components/schemas/MailTemplate" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } }, "FilterRecord": { "type": "object", "required": [ "id", "data", "updated_at" ], "properties": { "id": { "type": "integer" }, "data": { "$ref": "#/components/schemas/MailFilter" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" } } }, "FilterChange": { "type": "object", "required": [ "id", "data", "updated_at", "operation" ], "properties": { "id": { "type": "integer" }, "data": { "$ref": "#/components/schemas/MailFilter" }, "updated_at": { "type": "string", "description": "Datum und Uhrzeit in UTC. Wenn kein Offset vorhanden ist, stellt der Wert auch UTC. dar" }, "operation": { "$ref": "#/components/schemas/Operation" } } } } ```