# Adapt Mail API 0.16.0 https://adapt-mail.com/tr/docs/ # Belgeler Adapt Mail ## Ürününüz için posta Arayüzünüzü Adapt Mail: posta kutularına bağlayın, mektupları okuyun ve gönderin, diyalogları gösterin, dosyaları, kişileri ve gönderen kurallarını yönetin. Postalarınızı bağladığınız kişisel hesabınızda hesaplar oluşturun, alan adlarını bağlayın, posta kutuları için ödeme yapın ve bunların hacmini artırın. Mail API önceden oluşturulmuş posta kutularıyla çalışmanıza olanak tanır. ## Yetkilendirmeyle başlayın Sunucu entegrasyonu için, API-posta anahtarını X-Customer-ID. ile birlikte kullanın. Belirli bir kullanıcı için oturum açmak için, onun kullanıcı adını ve şifresini kullanarak bir Bearer-token alın. ``` GET /v1/mailboxes X-API-Key: X-Customer-ID: ``` ## İlk istek Temel adres API - https://adapt-mail.com. Tüm talepler HTTPS. üzerinden işlenir JSON- talepler için lütfen Content-Type: application/json. belirtin E-posta hesabınızın kullanıcı adını ve şifresini kullanarak bir jeton alın. Daha sonra posta kutularının bir listesini isteyin ve istenen posta kutusunun id değerini saklayın: istek adreslerinde mailbox_id olarak kullanılır. Açılı parantez içindeki değerleri kendi verilerinizle değiştirin. ``` 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 " ``` ## Dokümantasyon formatları OpenAPI şeması istek parametrelerini ve yanıtlarını açıklar. Dosya llms-full.txt metin formatında referans kitabının tamamını içerir. İndirme bağlantıları her sayfanın başında mevcuttur. # Yetki ve erişim alanları ## Bağlantıyla giriş Sunucunuz X-API-Key ve X-Customer-ID ile POST /v1/auth/login-link çağrısı yapar. Yalnızca ilgili posta kutusunu açmak için mailbox_id belirtin; tüm hesabı açmak için bu alanı atlayın. locale arayüz dilini seçer. Yanıt login_url, expires_in=300, expires_at (UTC), account_id ve mailbox_id içerir. “Postayı aç” düğmesi #token dahil login_url adresinin tamamını açar. Bağlantı 5 dakika geçerlidir ve yalnızca bir kez kullanılabilir. Bağlantıyı günlüğe kaydetmeyin ve API anahtarını tarayıcıda açığa çıkarmayın. Giriş sayfası belirteci adres çubuğundan kaldırır ve HttpOnly çerezleriyle değiştirir. Hata veya süre aşımında yeni bağlantı oluşturun. Erişim kapsamı, hesap ve posta kutusu durumu tekrar kontrol edilir. Kullanıcı oturumları bağlantı oluşturamaz. ``` 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 } ``` ## İş ortağı anahtarı Entegrasyonunuzun posta API-anahtarını kullanın. Bunu posta hesabının X-API-Key ve ID adresine iletin - gerekli başlıkta X-Customer-ID. Bu, posta kutusunun external_id değil, ID değil, hesabın ID'sidir. Anahtar yalnızca entegrasyonunuzun istemcilerine erişim sağlar. Anahtarı partnerinizin sunucusunda saklayın. Paylaşılan entegrasyon anahtarını tarayıcıya veya mobil uygulamaya yerleştirmeyin. ``` curl 'https://adapt-mail.com/v1/mailboxes' \ -H 'X-API-Key: ' \ -H 'X-Customer-ID: ' ``` ## Kullanıcı jetonu POST /v1/auth/token kabul eder login, password ve mode. mode=account için oturum açma adı user-ID kullanılır, mode=mailbox için tam posta kutusu adresi kullanılır. Hesap ve posta kutusu şifreleri bağımsızdır. Yanıt access_token, token_type=Bearer ve expires_in=3600. içeriyor. Hesap jetonu kutularını açar; kutu belirteci - yalnızca bir kutu. Süre dolduktan sonra yeni bir jeton alacaksınız. ``` POST /v1/auth/token Content-Type: application/json {"login":"user-123","password":"","mode":"account"} GET /v1/mailboxes Authorization: Bearer ``` ## Tarayıcı oturumları POST /v1/auth/login kendi sitesi içindir adapt-mail.com. Doğru Origin gerektirir ve HttpOnly cookies. Sınıflandırılmamış X-Mail-Session dosyasını yükler, kaydedilen girişlerden birini seçer, ancak cookie olmadan erişim vermez. Üçüncü taraf ön uç için sunucunuzu ve kullanıcı belirtecinizi kullanın. Herhangi bir site için cookie: genel CORS tarafından etki alanları arası rastgele erişime güvenmeyin. # Sevk ve operasyonlar ## Bir mektubu sıraya koymak GET /v1/mailboxes. adresinden ID kutusunu alın Bir gönderim için benzersiz bir Idempotency-Key oluşturun ve nihai sonuca kadar bunu kaydedin. Ağda tekrar oynatmak için aynı anahtarı ve aynı gövdeyi kullanın. HTTP 202 bir teslimat onayı değil, bir işlem nesnesi döndürür. id alanı ID işlemi içeriyor. Anket 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"} ``` ## Sonuç nasıl anlaşılır? - `queued` — Mektup gönderilmeyi bekliyor. - `running` — Gönderim sürüyor. - `succeeded` — Posta sunucusu gönderimi kabul etti. Her alıcı için sonucu kontrol edin. - `failed` — Gönderim başarısız oldu. Nedeni error. olarak verilmiştir - `cancelled` — Gönderim iptal edildi. - `uncertain` — Gönderim sonucu onaylanamadı. Lütfen tekrar denemeden önce işlemi ve gönderilen klasörünüzü kontrol edin. Başarılı bir gönderimden sonra, result alanı accepted_recipients - kabul edilen alıcıları, rejected_recipients - reddedilen alıcıları ve sent_saved - bir kopyanın gönderilen olarak kaydedilmesinin sonucunu içerir. Bir mektubun posta sunucusu tarafından kabul edilmesi, alıcının gelen kutusuna teslimatı garanti etmez. Bekleyen bir göndermeyi iptal etmek için POST /v1/operations/{operation_id}/cancel. komutunu çalıştırın. /retry yöntemi e-postayı yeniden göndermez. ## Yanıtla, İlet ve Gecikmeli Gönderim Yanıtlamak için lütfen orijinal e-postanın message_id kısmını reply_to_message_id içine ekleyin ve references. adresine iletin. to alanına, reply_to'deki yanıt adresini veya gönderenin adresini girin. Herkese yanıt vermek için kendi adresiniz hariç diğer katılımcıları to ve cc'ya ekleyin. Ekleri iletmek için forward_message ile folder, uidvalidity ve uid. iletin. Yüklediğiniz dosyalarınız için file_ids. kullanın. Toplam ek boyutu 25 MiB ile sınırlıdır. send_at, UTC'de saklanan bir saat dilimiyle belirtilir; Bir yıl içinde ertelenmiş gönderim mevcuttur. Sınırlar, kuyruk oluşturulduktan sonra değil, gerçek gönderim sırasında kontrol edilir. # SMTP ile gönderim ## Bağlantı öncesi hazırlık Uygulamanızdan posta kutusunun kullanıcı adı ve parolasıyla SMTP üzerinden e-posta gönderin. API anahtarları ve hesap belirteçleri SMTP için kullanılamaz. Bağlı bir alan adında etkin bir posta kutusu oluşturun ve DNS kayıtlarının doğrulamasını tamamlayın. Kullanıcı adı, noreply@example.com gibi tam e-posta adresidir. E-posta hesabının değil, posta kutusunun parolasını kullanın. Örnek adresleri kendi adreslerinizle değiştirin; parola program çalışırken ekranda gösterilmeden girilir. ## Sunucu, portlar ve şifreleme Bağlı tüm alan adları için mail.adapt-mail.com kullanın. 465 portunda TLS hemen başlar; 587 portunda kimlik doğrulamadan önce STARTTLS uygulanır. Birini seçin. Sertifika doğrulamasını etkin bırakın. Örneklerde From adresi ve SMTP zarf göndereni, posta kutusunun kullanıcı adıyla aynıdır. Gönderenin görünen adını değiştirebilirsiniz. 25 portu posta sunucuları arasındaki iletişim içindir; uygulamanızda 465 veya 587 kullanın. ``` 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: 465 portundan gönderim Örnek yalnızca Python 3 standart kütüphanesini kullanır. send_mail.py olarak kaydedip python3 send_mail.py komutuyla çalıştırın. Otomatik gönderimde parolayı uygulamanızın güvenli yapılandırmasından alın; Git'e veya günlüklere kaydetmeyin. ``` 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: 587 portuna bağlantı STARTTLS için önceki örnekteki mesaj hazırlığını koruyun ve with smtplib.SMTP_SSL bloğunu aşağıdakiyle değiştirin. smtplib.SMTP ile parola yalnızca STARTTLS başarılı olduktan sonra gönderilir. ``` 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 ve ekler HTML sürümünü set_content sonrasında, eki ise gönderimden önce ekleyin. HTML desteklemeyen istemciler için düz metin sürümünü koruyun. Güvenilir HTML kullanın veya eklenen verilerdeki özel karakterleri kaçış dizilerine dönüştürün. ``` 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", ) ``` ## Sonuç, limitler ve gönderilenler send_message işleminin başarılı olması SMTP sunucusunun mesajı kabul ettiğini gösterir; alıcının gelen kutusuna ulaştığını garanti etmez. refused sözlüğü reddedilen alıcıları içerir; tüm alıcılar reddedilirse Python SMTPRecipientsRefused hatası verir. SMTP ve API her posta kutusu için ortak limit kullanır: kayan 60 saniyelik pencerede en fazla 30 mesaj, mesaj başına 50 alıcı ve kayan 24 saatlik pencerede 1000 alıcı; artırılmış limit etkinse 5000 alıcı. To, Cc ve Bcc alanlarındaki tüm alıcılar sayılır. Doğrudan SMTP gönderimi, Gönderilenler klasörüne kendiliğinden kopya kaydetmez. E-posta istemcileri bunu IMAP üzerinden yapar; Adapt Mail API üzerinden gönderimde kopya ayrıca kaydedilir. ## SMTP hataları - `535` — Kimlik doğrulama başarısız: tam adresi, posta kutusu parolasını ve posta kutusunun kullanılabilirliğini kontrol edin. - `451` — Gönderim limitinin aşılması dahil geçici hata. Bir süre bekleyip yeniden deneyin. - `550 / 5xx` — Kalıcı ret: adresleri, gönderen izinlerini ve yanıt metnini kontrol edin. 50'den fazla alıcı DATA sonrasında reddedilir. Yeniden denemeden önce nedeni giderin. - `TLS / timeout` — mail.adapt-mail.com adını, portu, TLS modunu ve uygulama sunucusunun dış bağlantı erişimini kontrol edin. 465 için SMTP_SSL, 587 için STARTTLS ile SMTP kullanın. SMTP sunucusunun yanıtını tam olarak okuyun. Geçici hatalarda bekleyerek yeniden deneyin. Mesaj iletildikten sonra bağlantı kesilir ve sonuç bilinmezse körlemesine yeniden göndermeyin: SMTP'de Idempotency-Key yoktur ve tekrar denemek mükerrer mesaj oluşturabilir. # Mektuplar ve diyaloglar ## Liste ve sayfalar GET /v1/mailboxes/{mailbox_id}/folders toplam harf sayısı total, okunmamış harf sayısı unread ve değeri uidvalidity. olan klasörleri döndürür. Harf listesi için GET /v1/mailboxes/{mailbox_id}/messages: kullanın, yanıt sayfa başına en fazla 40 harf olmak üzere items, next_before ve uidvalidity içerir. Bir sonraki istekte next_before değerini before olarak iletin. null listenin sonu anlamına gelir. q araması 200 karakterle sınırlıdır ve e-postanın içeriğine göre gerçekleştirilir. ``` GET /v1/mailboxes/42/messages?folder=INBOX GET /v1/mailboxes/42/messages?folder=INBOX&before=120 ``` ## Mektup Kimlikleri uid klasörün içindeki harfin tanımlayıcısıdır, folder klasörün adıdır, mailbox_id posta kutusunun ID'sidir. uidvalidity değeri, klasördeki harflerin numaralandırma sürümünü belirler. API cevabındaki dört değeri de alın ve birlikte saklayın. uidvalidity değiştiyse, bu klasöre ait posta listesini yeniden indirin: eski uid artık kullanılamaz. İçeriği okumak, e-postayı okundu olarak işaretlemez. İşaretlemek için POST /v1/mailboxes/{mailbox_id}/messages/actions ile action=read. yapın ``` POST /v1/mailboxes/42/messages/actions {"folder":"INBOX","uidvalidity":123456,"uids":[120],"action":"read"} ``` ## Diyalog olarak yazışma GET /v1/mailboxes/{mailbox_id}/threads en fazla 100 diyalog döndürür. Harflerini eskiden yeniye almak için seçilen ileti dizisinin thread_id değerini GET /v1/mailboxes/{mailbox_id}/threads/{thread_id} öğesine iletin. Diyalogda hafif bir gecikmeyle yeni bir harf görünebilir. Listeyi güncelleyin; Gönderimi kontrol etmek için işlem durumunu kullanın. Görüntüleme gecikmesi nedeniyle e-postayı yeniden göndermenize gerek yoktur. # Sınırlar ve depolama ## Genel sınırlar SMTP ve API Normal posta kutusu: 24 saatlik bir süre içinde 1000 alıcı. outbound_high_limit=true: 5000'li kutu. 60 saniyelik kayan sürede 30 harfe kadar; bir harfin To, Cc ve Bcc olmak üzere toplam 50 alıcıya kadar. Dahili adresler ve alıcıların farklı harflerle tekrarları da dahil olmak üzere, alınan SMTP-alıcı dikkate alınır. Ayrı bir saat sınırlaması yoktur. Bu, gönderilen mektupların istatistikleri değil, gönderme izinlerinin tüketimidir. GET /v1/mailboxes her iki pencerenin limitini, akışını ve kalanını döndürür. Mektup başına alıcı sınırı için kümülatif bir masraf yoktur. Sayaç kullanılamıyorsa sunucu sıfır tüketim yerine 503 değerini döndürür. ``` { "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 } ``` ## Limitin aşılması API-send 202 alabilir ve daha sonra başarısız olabilir failed ile mail_daily_limit_exceeded veya mail_minute_limit_exceeded. 50'den fazla alıcı 422 ile hemen reddedilir. SMTP, pencere aşılırsa 451, 50'den fazla alıcı varsa DATA'den sonra 550 geçici hata döndürür. Limiti başka bir protokol aracılığıyla atlamanın bir yolu yoktur. ## Posta ve dosyalar quota_mb, iletiler ve dosyalar için MiB cinsinden ortak kapasitedir. used_bytes, bayt cinsinden toplam kullanımdır. storage_shared=true; file_quota_bytes, quota_mb × 1048576 değerine eşittir ve ek kapasite değildir. file_used_bytes, yüklenen dosyaların toplam kullanıma zaten dahil olan özgün boyutudur. Dosyalar postalarla birlikte kendi disklerimizde saklanır. Ortak kota MIME kodlamasını ve başlıkları içerir. Gönderilen iletideki ek kopyası ek yer kaplar. Harici IMAP istemcileri Adapt Files sistem klasörünü görür: bu klasörü silmek kayıtlı dosyaları da siler. E-postanızı bağladığınız kişisel hesabınızda yenileme ve hacim artışı mevcuttur. Ücretli sürenin bitiminden sonra okuma ve gönderme engellenir. 24 saat sonra kutu çıkarma işlemi başlar; Bu tarihten önce aboneliğinizi yenileyin. # Etkinlikler ve web kancaları ## Web kancalarını bağlama Entegrasyon ayarlarınızda web kancalarının alınacağı adresi belirtin. Yeni mektuplar, posta kutularının durumu ve operasyon sonuçları hakkında bildirimler alacak. Entegrasyon ayarlarında ayrı bir webhook sırrı ayarlayın ve dağıtımı etkinleştirin. Bu sır, bildirim imzalarını doğrulamak için kullanılır; mail API-key bunun için uygun değil. ## Bildirim Formatı Bildirim HTTP POST- isteği ile birlikte gelir Content-Type: application/json. Alan event olay türünü içerir, timestamp — bildirim zamanı, data — olay verileri. data'nin bileşimi olaya bağlıdır. data.event_id tanımlayıcısı yeniden teslimatı tanımanıza olanak tanır. Entegrasyon kimliğinizle birlikte saklayın ve bir olayı yalnızca bir kez işleyin. ``` { "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 } } ``` ## Doğrulama ve onay X-Webhook-Signature başlığı, küçük harfli onaltılık gösterimde HMAC-SHA256 içeriyor. İmzayı, istek gövdesinin orijinal baytlarından ve webhook sırrından hesaplayın. Verileri işlemeden önce imzayı kontrol edin; JSON'nin yeniden serileştirilmesi, imzalanan baytları değiştirecektir. İmzayı doğruladıktan ve olayı kaydettikten sonra HTTP 200 veya 201'i döndürün. 202 ve 204 numaralı yanıtlar alındığını bildirmiyor. 10 saniye içinde yanıt verin; Olayı kaydettikten sonra uzun bir işlem gerçekleştirin. Bildirimler tekrar tekrar ve düzensiz gelebilir. Abonelik durumunu değiştirmeden önce mevcut ayrıntılarını kontrol edin. Teslimat geçmişi entegrasyon ayarlarında mevcuttur. ## Hangi olaylar meydana gelir - `mailbox.created` — Kutu oluşturulur ve kullanıma hazırdır. - `mailbox.expiring` — Kutunun ücretli döneminin sonu yaklaşıyor. - `mailbox.renewed` — Kutunun ödeme süresi uzatıldı. - `mailbox.suspended` — Posta kutusuna erişim askıya alındı: okuma ve gönderme kullanılamıyor. - `mailbox.resumed` — Posta kutusuna erişim yeniden sağlandı. - `mailbox.deleting_soon` — Ödenmemiş kutunun silinmesine bir saat kaldı. - `mailbox.deleted` — Kutu silindi. - `mailbox.account_changed` — Posta kutusu başka bir posta hesabına bağlı. - `mail.message.received` — Posta kutusunda yeni bir gelen mektup belirdi. - `mail.operation.succeeded` — Operasyon başarıyla tamamlandı. Gönderim için bu, mektubun alıcının gelen kutusuna teslim edilmesi yerine posta sunucusu tarafından kabul edilmesi anlamına gelir. - `mail.operation.failed` — İşlem başarısız oldu. - `mail.operation.uncertain` — Gönderim sonucu bilinmiyor. Lütfen yeniden göndermeden önce durumu kontrol edin. Ödeme hatırlatmaları: 14, 7, 3, 2, 1 gün ve vade bitiminden bir saat önce. Yenileme, henüz gönderilmemiş, süresi geçmiş hatırlatıcıları iptal eder. # Hatalar ve tekrarlar ## Hata formatı Hata yanıtı bir detail: dizesi, code/message içeren bir nesne veya doğrulama hatalarının bir listesini içerir. Davranışı çevrilmiş metinden belirlemeyin: mevcut olduğunda HTTP-status ve makine tarafından oluşturulan code kullanın. ``` {"detail":"..."} {"detail":{"code":"...","message":"..."}} ``` ## Kodlar HTTP - `400` — Geçersiz başlık veya tanımlayıcı. Talebinizi kontrol edin. - `401` — Oturum veya anahtar kabul edilmedi. Tekrar oturum açın veya anahtarınızı kontrol edin. - `403` — Yetersiz haklar veya posta kutusuna erişim reddedildi. - `404` — Kaynak bulunamadı veya mevcut hesapta kullanılamıyor. - `409` — Klasör durumu, kota veya nesil çakışması. Lütfen tekrar denemeden önce verilerinizi güncelleyin. - `413` — Dosya boyutu izin verilen sınırı aşıyor. - `422` — Geçersiz istek parametreleri. Yanıtta sağlanan alanları kontrol edin. - `429` — Çok fazla istek var. Lütfen daha sonra tekrar deneyin. - `503` — Hizmet geçici olarak kullanılamıyor. İsteği gecikmeli olarak yeniden deneyin. 401'den sonra yeni bir giriş yapılması gerekmektedir. 409'dan sonra durumu tekrar okuyun. 503'ten sonra gecikmeli olarak tekrarlayın; göndermek için aynı tutun Idempotency-Key. Geri dönüşü olmayan eylemleri körü körüne tekrarlamayın. # Bağlı uygulamalar ## Uygulama bağla Yapay zekâ istemcinizi bu adresle bağlayın. Bağlanırken posta kutularını ve izinleri seçin. Yalnızca gereken posta kutularına ve işlemlere izin verin. ``` 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 ``` ## İzinler - `mail.read` — İletileri, konuşmaları ve ekleri arama ve okuma. - `mail.send` — İleti gönderme, yanıtlama ve iletme. - `mail.manage` — Taslaklar, dosyalar, klasörler, okunma durumu, önemli iletiler, arşiv ve spam. - `mail.delete` — Çöp kutusu ve iletilerin, taslakların, dosyaların kalıcı olarak silinmesi. ## Erişimi iptal et Erişim 30 gün geçerlidir. Ayarlardan istediğiniz zaman iptal edebilirsiniz. # Posta kutusu ayarları ## E-posta şablonları Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez. Şablon, düzenleyicideki metni değiştirecek. Alıcılar ve ekler korunacak. ``` 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.

"} ``` ## Otomatik yanıt Otomatik yanıtlar tarayıcı kapalıyken de çalışır ve gönderim sınırına dahildir. Posta listeleri ve otomatik iletiler hariç tutulur. Otomatik yanıt tarihlerinde saat dilimi belirtin; repeat_days 1–30 arasındadır. Yalnızca yeni kişisel iletiler yanıtlanır: From, Return-Path ile eşleşmelidir. ``` 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} ``` ## Filtreler Posta kutusu başına en fazla 100 filtre ve filtre başına 20 koşul. Tam başlıklar karşılaştırılır; ASCII büyük/küçük harfe duyarsızdır, diğer karakterler duyarlıdır. İlk eşleşen filtre uygulanır. Gönderici kuralları önceliklidir. Mevcut iletiler ayrıca işlenir. Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin. Gelen kutusu ve özel klasörler işlenecek. Gönderilenler, taslaklar, spam ve çöp kutusu hariçtir. ``` 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 ``` ## Önizleme - `file_infected` — Bir tehdit algılandı. Dosyanın açılması engellendi. - `file_scan_unavailable` — Antivirüs geçici olarak kullanılamıyor. Daha sonra tekrar deneyin. DOC, XLS, XLSX, PPT, PPTX ve ODT dosya veya ek içerik isteğine preview=pdf ekleyin. Sınır: posta kutusu başına dakikada 10 dönüştürme. X-File-Scan: clean ve X-File-Scanned-At tarama sonucunu ve zamanını gösterir. Dosya listesindeki scanned_at null olabilir. Sonuç bir saat önbellekte tutulur; tehdit veya tarayıcı kesintisi dosyanın indirilmesini engeller. ``` 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 Tarayıcıda oturum açın Rota adapt-mail.com içindir ve Origin: https://adapt-mail.com. gerektirir HttpOnly cookies döndürür ve sınıflandırılmamış session_id. Müşteriniz için /v1/auth/token. kullanın ```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": "Tarayıcıda oturum açın", "operationId": "login_v1_auth_login_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Login" } } }, "required": true }, "responses": { "200": { "description": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "mailbox_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "session_id": { "type": "string", "format": "uuid" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Çok fazla istek", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Rota adapt-mail.com içindir ve Origin: https://adapt-mail.com. gerektirir HttpOnly cookies döndürür ve sınıflandırılmamış session_id. Müşteriniz için /v1/auth/token. kullanın", "security": [] } ``` # POST /v1/auth/token Kullanıcı jetonu alma Kullanıcı adı ve parolaya dayalı olarak bir saatlik erişim belirteci verir. Tüm hesap posta kutularına erişmek için mode=account veya tek bir adrese erişmek için mode=mailbox belirtin. Authorization: Bearer başlığına access_token iletin. ```sh curl -X POST 'https://adapt-mail.com/v1/auth/token' \ -H 'Content-Type: application/json' \ --data '{"login":"user-123","password":""}' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Kullanıcı jetonu alma", "operationId": "token_v1_auth_token_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Login" } } }, "required": true }, "responses": { "200": { "description": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Çok fazla istek", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Kullanıcı adı ve parolaya dayalı olarak bir saatlik erişim belirteci verir. Tüm hesap posta kutularına erişmek için mode=account veya tek bir adrese erişmek için mode=mailbox belirtin. Authorization: Bearer başlığına access_token iletin.", "security": [] } ``` # GET /v1/auth/sessions Kayıtlı oturumlar Gerekli cookie mail_browser. X-API-Key ve Bearer bunun yerine geçmez cookie. cookie olmadan boş bir liste döndürülür. ```sh curl -X GET 'https://adapt-mail.com/v1/auth/sessions' \ -b cookies.txt ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Kayıtlı oturumlar", "operationId": "sessions_v1_auth_sessions_get", "responses": { "200": { "description": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gerekli cookie mail_browser. X-API-Key ve Bearer bunun yerine geçmez cookie. cookie olmadan boş bir liste döndürülür.", "security": [ { "Browser": [] } ] } ``` # POST /v1/auth/logout Oturumdan çıkış yap Yalnızca kullanıcı oturumu. Seçilen girişi geri çağırır; kalan girişler korunur. ```sh curl -X POST 'https://adapt-mail.com/v1/auth/logout' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Oturumdan çıkış yap", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "logged_out": { "type": "boolean" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Yalnızca kullanıcı oturumu. Seçilen girişi geri çağırır; kalan girişler korunur." } ``` # GET /v1/me Kullanıcı profili Geçerli posta hesabının profilini döndürür. Kullanıcı adını görüntülemek ve uygulamanızda oturum açmak için bunu kullanın. ```sh curl -X GET 'https://adapt-mail.com/v1/me' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Авторизация и аккаунт" ], "summary": "Kullanıcı profili", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Geçerli posta hesabının profilini döndürür. Kullanıcı adını görüntülemek ve uygulamanızda oturum açmak için bunu kullanın." } ``` # GET /v1/avatars/{domain} Etki alanı logosu 200 - resim; 202 — hazırlık, Retry-After'den sonra tekrar edin; 204 - logo yok; 503 - geçici hata. Logo gönderenin kimliğini doğrulamaz. ```sh curl -X GET 'https://adapt-mail.com/v1/avatars/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Логотипы доменов" ], "summary": "Etki alanı logosu", "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": "Başarılı yanıt", "content": { "image/png": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Logo hazırlanıyor" }, "204": { "description": "Logo yok" }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Çok fazla istek", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "200 - resim; 202 — hazırlık, Retry-After'den sonra tekrar edin; 204 - logo yok; 503 - geçici hata. Logo gönderenin kimliğini doğrulamaz." } ``` # GET /v1/domains Alan adlarının listesi Kişisel bir adres oluşturmak için özel alanlar ve paylaşılan bir alan adı mevcuttur. ```sh curl -X GET 'https://adapt-mail.com/v1/domains' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "Alan adlarının listesi", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Kişisel bir adres oluşturmak için özel alanlar ve paylaşılan bir alan adı mevcuttur." } ``` # GET /v1/domains/{domain_id}/dns DNS-alan kayıtları Talimatlar tam DNS- değerlerini ve test sonucunu içerir ancak DNS değerini otomatik olarak değiştirmez. ```sh curl -X GET 'https://adapt-mail.com/v1/domains//dns' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "DNS-alan kayıtları", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Talimatlar tam DNS- değerlerini ve test sonucunu içerir ancak DNS değerini otomatik olarak değiştirmez." } ``` # GET /v1/mailboxes Kutu listesi ve tüketimi sınırlama Posta kutularının listesi, kullanıcı oturumunun sahibi veya tek posta kutusuyla sınırlıdır. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Домены и ящики" ], "summary": "Kutu listesi ve tüketimi sınırlama", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Mailbox" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Posta kutularının listesi, kullanıcı oturumunun sahibi veya tek posta kutusuyla sınırlıdır." } ``` # PATCH /v1/mailboxes/{mailbox_id} Posta kutusu ayarları /v1 üzerinden name, password ve signature değiştirilebilir. Ortak quota_mb kotasını barındırma panelinden değiştirin. Dosyaların ayrı kotası yoktur. Idempotency-Key isteğe bağlıdır ancak yeniden denemelerde önerilir. ```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": "Posta kutusu ayarları", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "400": { "description": "Geçersiz başlık veya tanımlayıcı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "/v1 üzerinden name, password ve signature değiştirilebilir. Ortak quota_mb kotasını barındırma panelinden değiştirin. Dosyaların ayrı kotası yoktur. Idempotency-Key isteğe bağlıdır ancak yeniden denemelerde önerilir." } ``` # GET /v1/mailboxes/{mailbox_id}/folders Klasörler ve sayaçlar Klasörlerin listesini, e-posta sayısını total, okunmamış ileti sayısını unread ve her klasör için uidvalidity değerini döndürür. Harflerine yönelik sorgularda klasör adını ve uidvalidity kullanın. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//folders' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Klasörler ve sayaçlar", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Klasörlerin listesini, e-posta sayısını total, okunmamış ileti sayısını unread ve her klasör için uidvalidity değerini döndürür. Harflerine yönelik sorgularda klasör adını ve uidvalidity kullanın." } ``` # POST /v1/mailboxes/{mailbox_id}/folders Klasör oluşturma Özel klasör IMAP içinde oluşturulur ve diğer posta istemcileri tarafından kullanılabilir. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//folders' \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ --data '{"name":""}' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Klasör oluşturma", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Özel klasör IMAP içinde oluşturulur ve diğer posta istemcileri tarafından kullanılabilir." } ``` # GET /v1/mailboxes/{mailbox_id}/messages Harflerin listesi Yeni UID'den eskiye kadar en fazla 40 harf döndürür. Sonraki sayfa için next_before'yi before. olarak iletin next_before=null için başka sayfa yok. Okuma, okuma bayrağını ayarlamaz. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Harflerin listesi", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Yeni UID'den eskiye kadar en fazla 40 harf döndürür. Sonraki sayfa için next_before'yi before. olarak iletin next_before=null için başka sayfa yok. Okuma, okuma bayrağını ayarlamaz." } ``` # GET /v1/mailboxes/{mailbox_id}/messages/{uid} E-posta içeriği Posta listesinden folder, uidvalidity ve uid gönderin. HTML işareti kaldırılır, harici resimler dahil edilmez. Bir harfi okundu olarak işaretlemek için ayrı bir işlem gerçekleştirin read. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages/?uidvalidity=' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "E-posta içeriği", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Posta listesinden folder, uidvalidity ve uid gönderin. HTML işareti kaldırılır, harici resimler dahil edilmez. Bir harfi okundu olarak işaretlemek için ayrı bir işlem gerçekleştirin read." } ``` # POST /v1/mailboxes/{mailbox_id}/messages/actions Harflerle yapılan işlemler Bir klasördeki seçili iletilere bir eylem uygular. Kimliklerini uids'ye, klasör adını folder'ye ve uidvalidity.'ye iletin action=move için, hedef klasörü de destination. olarak belirtin ```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": "Harflerle yapılan işlemler", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bir klasördeki seçili iletilere bir eylem uygular. Kimliklerini uids'ye, klasör adını folder'ye ve uidvalidity.'ye iletin action=move için, hedef klasörü de destination. olarak belirtin" } ``` # GET /v1/mailboxes/{mailbox_id}/messages/{uid}/eml Mektubu EML adresinden indirin Başlıklar ve eklerle birlikte orijinal MIME-baytı döndürür. Okunabilirliği değiştirmez. PDF tarayıcıda yazdırma yoluyla oluşturulur; Ayrı bir PDF-rota yok. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages//eml?uidvalidity=' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Mektubu EML adresinden indirin", "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": "Başarılı yanıt", "content": { "message/rfc822": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Başlıklar ve eklerle birlikte orijinal MIME-baytı döndürür. Okunabilirliği değiştirmez. PDF tarayıcıda yazdırma yoluyla oluşturulur; Ayrı bir PDF-rota yok." } ``` # GET /v1/mailboxes/{mailbox_id}/messages/{uid}/attachments/{index} Eki indir DOC, XLS, XLSX, PPT, PPTX ve ODT dosya veya ek içerik isteğine preview=pdf ekleyin. Sınır: posta kutusu başına dakikada 10 dönüştürme. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//messages//attachments/?uidvalidity=' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Eki indir", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "DOC, XLS, XLSX, PPT, PPTX ve ODT dosya veya ek içerik isteğine preview=pdf ekleyin. Sınır: posta kutusu başına dakikada 10 dönüştürme." } ``` # POST /v1/mailboxes/{mailbox_id}/send Bir mektup gönder Gerekli Idempotency-Key 8–128 karakter uzunluğunda. Aynı tuş ve gövdeyle tekrarlamak aynı işlemi döndürür; başka bir kuruluş 409 veriyor. HTTP 202 sıraya girmek anlamına geliyor. Yanıtın alınıp alınmadığını değil, işlemin durumunu kontrol edin. ```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": "Bir mektup gönder", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "400": { "description": "Geçersiz başlık veya tanımlayıcı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "413": { "description": "Aşan boyut", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gerekli Idempotency-Key 8–128 karakter uzunluğunda. Aynı tuş ve gövdeyle tekrarlamak aynı işlemi döndürür; başka bir kuruluş 409 veriyor. HTTP 202 sıraya girmek anlamına geliyor. Yanıtın alınıp alınmadığını değil, işlemin durumunu kontrol edin." } ``` # GET /v1/operations Operasyonların listesi Son 100 işlemi döndürür. Bireysel bir posta kutusunun oturumu yalnızca onun işlemlerini görür. ```sh curl -X GET 'https://adapt-mail.com/v1/operations' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Operasyonların listesi", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Operation" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Son 100 işlemi döndürür. Bireysel bir posta kutusunun oturumu yalnızca onun işlemlerini görür." } ``` # GET /v1/operations/{operation_id} Operasyon Durumu Bir işlemin mevcut durumunu id. değerine göre döndürür. status, queued veya running'ye eşit olmasına rağmen işlem tamamlanmaz. Tamamlandığında, başarı durumunda result veya hata durumunda error seçeneğini işaretleyin. ```sh curl -X GET 'https://adapt-mail.com/v1/operations/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Operasyon Durumu", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bir işlemin mevcut durumunu id. değerine göre döndürür. status, queued veya running'ye eşit olmasına rağmen işlem tamamlanmaz. Tamamlandığında, başarı durumunda result veya hata durumunda error seçeneğini işaretleyin." } ``` # POST /v1/operations/{operation_id}/cancel Göndermeyi iptal et İşlem queued. durumundayken mektubun gönderilmesini iptal eder. Gönderme zaten başlamışsa, tamamlanmışsa veya iptal edilmişse 409 döndürülür. Bu yöntemi kullanarak önceden gönderilmiş bir mektubu geri çağıramazsınız. ```sh curl -X POST 'https://adapt-mail.com/v1/operations//cancel' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Göndermeyi iptal et", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "cancelled": { "type": "boolean" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "İşlem queued. durumundayken mektubun gönderilmesini iptal eder. Gönderme zaten başlamışsa, tamamlanmışsa veya iptal edilmişse 409 döndürülür. Bu yöntemi kullanarak önceden gönderilmiş bir mektubu geri çağıramazsınız." } ``` # POST /v1/operations/{operation_id}/retry İşlemi tekrarlayın Gönderen kurallarının uygulamasını yeniden başlatır: kind=sender_rules, status=failed. Bu yöntem kullanılarak mektup gönderme tekrarlanamaz. Uygun olmayan bir durum için 409 döndürülür; Bu yöntemle posta kutusu oluşturma ve yapılandırma işleminin tekrarlanması mümkün değildir ve 403 sonucunu döndürür. ```sh curl -X POST 'https://adapt-mail.com/v1/operations//retry' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "İşlemi tekrarlayın", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gönderen kurallarının uygulamasını yeniden başlatır: kind=sender_rules, status=failed. Bu yöntem kullanılarak mektup gönderme tekrarlanamaz. Uygun olmayan bir durum için 409 döndürülür; Bu yöntemle posta kutusu oluşturma ve yapılandırma işleminin tekrarlanması mümkün değildir ve 403 sonucunu döndürür." } ``` # PUT /v1/mailboxes/{mailbox_id}/drafts/{draft_id} Taslağı kaydet draft_id. tarihine kadar bir taslak oluşturur veya günceller. Yeni bir taslak için UUID oluşturun; Sonraki kayıtlar için aynı tanımlayıcıyı kullanın. Aynı posta kutusuna giriş yaptıktan sonra taslağınıza başka bir cihazdan devam edebilirsiniz. ```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": "Taslağı kaydet", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "draft_id. tarihine kadar bir taslak oluşturur veya günceller. Yeni bir taslak için UUID oluşturun; Sonraki kayıtlar için aynı tanımlayıcıyı kullanın. Aynı posta kutusuna giriş yaptıktan sonra taslağınıza başka bir cihazdan devam edebilirsiniz." } ``` # DELETE /v1/mailboxes/{mailbox_id}/drafts/{draft_id} Taslağı sil Bir taslağın silinmesi, önceden sıraya alınmış bir e-postayı etkilemez. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//drafts/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Taslağı sil", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "type": "boolean" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bir taslağın silinmesi, önceden sıraya alınmış bir e-postayı etkilemez." } ``` # GET /v1/mailboxes/{mailbox_id}/drafts Taslakların listesi En yeniden en eskiye doğru 100'e kadar taslağı döndürür. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//drafts' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Taslakların listesi", "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": "Başarılı yanıt", "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "updated_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "En yeniden en eskiye doğru 100'e kadar taslağı döndürür." } ``` # GET /v1/mailboxes/{mailbox_id}/threads Diyalogların listesi En son güncellenenlerden başlayarak en fazla 100 iletişim kutusunu döndürür. Trash ve Junk klasörlerindeki iletiler listeye dahil edilmez. Yeni mektup hafif bir gecikmeyle görünebilir; listeyi güncelleme isteğini yeniden deneyin. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//threads' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Diyalogların listesi", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "thread_id": { "type": "string" }, "updated_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "messages": { "type": "integer" }, "unread": { "type": "integer" }, "senders": { "type": "array", "items": { "type": "string" } }, "subject": { "type": "string" }, "sender": { "type": "string" } } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "En son güncellenenlerden başlayarak en fazla 100 iletişim kutusunu döndürür. Trash ve Junk klasörlerindeki iletiler listeye dahil edilmez. Yeni mektup hafif bir gecikmeyle görünebilir; listeyi güncelleme isteğini yeniden deneyin." } ``` # GET /v1/mailboxes/{mailbox_id}/threads/{thread_id} Diyalog mektupları Seçilen ileti dizisinin eskiden yeniye doğru en fazla 100 harfini döndürür. İletişim listesinden thread_id iletin. Halihazırda silinmiş veya artık mevcut olmayan e-postalar yanıta dahil edilmez. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//threads/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Diyalog mektupları", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Message" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Seçilen ileti dizisinin eskiden yeniye doğru en fazla 100 harfini döndürür. İletişim listesinden thread_id iletin. Halihazırda silinmiş veya artık mevcut olmayan e-postalar yanıta dahil edilmez." } ``` # PUT /v1/mailboxes/{mailbox_id}/sender-rules Gönderen Kuralı sender. adresi için bir kural oluşturur veya günceller. Gönderenden gelen yeni e-postaları spam'e yönlendirmek için action=spam veya e-postalarına izin vermek için action=allow belirtin. Kural gelecekte gelecek e-postalar için geçerlidir. ```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": "Gönderen Kuralı", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "sender. adresi için bir kural oluşturur veya günceller. Gönderenden gelen yeni e-postaları spam'e yönlendirmek için action=spam veya e-postalarına izin vermek için action=allow belirtin. Kural gelecekte gelecek e-postalar için geçerlidir." } ``` # GET /v1/mailboxes/{mailbox_id}/sender-rules Gönderen kurallarının listesi Seçilen posta kutusu için gönderen kurallarını döndürür. Her kural, daha sonra silinmek üzere bir sender adresi, bir eylem action ve bir tanımlayıcı id içerir. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//sender-rules' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Gönderen kurallarının listesi", "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": "Başarılı yanıt", "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Seçilen posta kutusu için gönderen kurallarını döndürür. Her kural, daha sonra silinmek üzere bir sender adresi, bir eylem action ve bir tanımlayıcı id içerir." } ``` # DELETE /v1/mailboxes/{mailbox_id}/sender-rules/{rule_id} Gönderen kuralını silme Gönderen kuralını rule_id. kadar kaldırır. Sonraki iletiler genel posta kurallarına göre işlenir. Zaten alınan mesajlar klasörlerinde kalır. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//sender-rules/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Gönderen kuralını silme", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Gönderen kuralını rule_id. kadar kaldırır. Sonraki iletiler genel posta kurallarına göre işlenir. Zaten alınan mesajlar klasörlerinde kalır." } ``` # GET /v1/mailboxes/{mailbox_id}/contacts Kişi listesi Ada göre sıralanmış en fazla 1000 kişiyi döndürür. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//contacts' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Kişi listesi", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ContactResponse" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Ada göre sıralanmış en fazla 1000 kişiyi döndürür." } ``` # POST /v1/mailboxes/{mailbox_id}/contacts Kişiyi kaydet Kişinin adını ve adresini seçilen posta kutusuna kaydeder. Aynı email değerine sahip bir kişi zaten mevcutsa, bir kopya oluşturmadan adını günceller. ```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": "Kişiyi kaydet", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactResponse" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Kişinin adını ve adresini seçilen posta kutusuna kaydeder. Aynı email değerine sahip bir kişi zaten mevcutsa, bir kopya oluşturmadan adını günceller." } ``` # DELETE /v1/mailboxes/{mailbox_id}/contacts/{contact_id} Kişiyi sil Bir kişiyi silmek mesajları silmez. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//contacts/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Почтовый ящик" ], "summary": "Kişiyi sil", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "type": "boolean" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Bir kişiyi silmek mesajları silmez." } ``` # GET /v1/mailboxes/{mailbox_id}/files Dosya listesi Seçilen posta kutusundaki 1000'e kadar hazır dosyayı döndürür. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//files' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Dosya listesi", "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": "Başarılı yanıt", "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Seçilen posta kutusundaki 1000'e kadar hazır dosyayı döndürür." } ``` # POST /v1/mailboxes/{mailbox_id}/files Dosya yükle multipart/form-data, alan file. Boyut 1 bayttan 25 MiB'a kadar. Antivirüs, indirmeden önce dosyayı kontrol eder. Yetersiz kota 409, aşırı boyut - 413, algılanan tehdit - 422, kullanılamayan kontrol - 503 verir. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//files' \ -H 'Authorization: Bearer ' \ -F 'file=@document.pdf' ``` ```json { "tags": [ "Файлы" ], "summary": "Dosya yükle", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/File" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "413": { "description": "Aşan boyut", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "multipart/form-data, alan file. Boyut 1 bayttan 25 MiB'a kadar. Antivirüs, indirmeden önce dosyayı kontrol eder. Yetersiz kota 409, aşırı boyut - 413, algılanan tehdit - 422, kullanılamayan kontrol - 503 verir." } ``` # GET /v1/mailboxes/{mailbox_id}/files/{file_id}/download Dosyayı indir Yanıt, Content-Disposition: attachment. içeren dosya baytlarını içeriyor. Bağlantı, her istekte yetkilendirme gerektirir; halka açık URL depolama alanı verilmedi. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//files//download' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Dosyayı indir", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Yanıt, Content-Disposition: attachment. içeren dosya baytlarını içeriyor. Bağlantı, her istekte yetkilendirme gerektirir; halka açık URL depolama alanı verilmedi." } ``` # GET /v1/mailboxes/{mailbox_id}/files/{file_id}/content Dosya İçeriği DOC, XLS, XLSX, PPT, PPTX ve ODT dosya veya ek içerik isteğine preview=pdf ekleyin. Sınır: posta kutusu başına dakikada 10 dönüştürme. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//files//content' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Dosya İçeriği", "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": "Başarılı yanıt", "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": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "DOC, XLS, XLSX, PPT, PPTX ve ODT dosya veya ek içerik isteğine preview=pdf ekleyin. Sınır: posta kutusu başına dakikada 10 dönüştürme." } ``` # DELETE /v1/mailboxes/{mailbox_id}/files/{file_id} Dosyayı sil Eksik bir gönderim dosyası silinemez: yanıt 409. Silme işleminden sonra kota serbest bırakılır. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//files/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Файлы" ], "summary": "Dosyayı sil", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "type": "boolean" } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Eksik bir gönderim dosyası silinemez: yanıt 409. Silme işleminden sonra kota serbest bırakılır." } ``` # POST /v1/auth/login-link Giriş bağlantısı oluştur Sunucunuz X-API-Key ve X-Customer-ID ile POST /v1/auth/login-link çağrısı yapar. Yalnızca ilgili posta kutusunu açmak için mailbox_id belirtin; tüm hesabı açmak için bu alanı atlayın. locale arayüz dilini seçer. ```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": "Giriş bağlantısı oluştur", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginLinkResult" } } } }, "401": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Sunucunuz X-API-Key ve X-Customer-ID ile POST /v1/auth/login-link çağrısı yapar. Yalnızca ilgili posta kutusunu açmak için mailbox_id belirtin; tüm hesabı açmak için bu alanı atlayın. locale arayüz dilini seçer." } ``` # POST /v1/auth/login-link/consume Bağlantıyı oturumla değiştir Yalnızca adapt-mail.com giriş sayfası için: Origin: https://adapt-mail.com ile POST. session_id ve HttpOnly çerezleri döndürür. Kullanılmış veya süresi dolmuş bağlantı: 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": "Bağlantıyı oturumla değiştir", "operationId": "consume_login_link_v1_auth_login_link_consume_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginLinkConsume" } } }, "required": true }, "responses": { "200": { "description": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserSessionResult" } } } }, "403": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "410": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "503": { "description": "İstek hatası", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Yalnızca adapt-mail.com giriş sayfası için: Origin: https://adapt-mail.com ile POST. session_id ve HttpOnly çerezleri döndürür. Kullanılmış veya süresi dolmuş bağlantı: HTTP 410.", "security": [] } ``` # GET /v1/mailboxes/{mailbox_id}/templates E-posta şablonları Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//templates' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "E-posta şablonları", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateRecord" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez." } ``` # POST /v1/mailboxes/{mailbox_id}/templates E-posta şablonları Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez. ```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-posta şablonları", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateRecord" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez." } ``` # PUT /v1/mailboxes/{mailbox_id}/templates/{template_id} E-posta şablonları Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez. ```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-posta şablonları", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateRecord" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez." } ``` # DELETE /v1/mailboxes/{mailbox_id}/templates/{template_id} E-posta şablonları Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//templates/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "E-posta şablonları", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleted": { "const": true } } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Posta kutusu başına en fazla 100 şablon. Alanlar: name, subject, text ve html; HTML temizlenir. Şablon kendi başına e-posta göndermez." } ``` # GET /v1/mailboxes/{mailbox_id}/autoresponder Otomatik yanıt Otomatik yanıt tarihlerinde saat dilimi belirtin; repeat_days 1–30 arasındadır. Yalnızca yeni kişisel iletiler yanıtlanır: From, Return-Path ile eşleşmelidir. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//autoresponder' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Otomatik yanıt", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Autoresponder" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Otomatik yanıt tarihlerinde saat dilimi belirtin; repeat_days 1–30 arasındadır. Yalnızca yeni kişisel iletiler yanıtlanır: From, Return-Path ile eşleşmelidir." } ``` # PUT /v1/mailboxes/{mailbox_id}/autoresponder Otomatik yanıt Otomatik yanıt tarihlerinde saat dilimi belirtin; repeat_days 1–30 arasındadır. Yalnızca yeni kişisel iletiler yanıtlanır: From, Return-Path ile eşleşmelidir. ```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": "Otomatik yanıt", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Autoresponder" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Otomatik yanıt tarihlerinde saat dilimi belirtin; repeat_days 1–30 arasındadır. Yalnızca yeni kişisel iletiler yanıtlanır: From, Return-Path ile eşleşmelidir." } ``` # GET /v1/mailboxes/{mailbox_id}/filters Filtreler Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin. ```sh curl -X GET 'https://adapt-mail.com/v1/mailboxes//filters' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Filtreler", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FilterRecord" } } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin." } ``` # POST /v1/mailboxes/{mailbox_id}/filters Filtreler Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin. ```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": "Filtreler", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilterChange" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin." } ``` # PUT /v1/mailboxes/{mailbox_id}/filters/{filter_id} Filtreler Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin. ```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": "Filtreler", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilterChange" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin." } ``` # DELETE /v1/mailboxes/{mailbox_id}/filters/{filter_id} Filtreler Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin. ```sh curl -X DELETE 'https://adapt-mail.com/v1/mailboxes//filters/' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Filtreler", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin." } ``` # POST /v1/mailboxes/{mailbox_id}/filters/{filter_id}/apply Mevcut iletilere uygula Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin. ```sh curl -X POST 'https://adapt-mail.com/v1/mailboxes//filters//apply' \ -H 'Authorization: Bearer ' ``` ```json { "tags": [ "Настройки ящика" ], "summary": "Mevcut iletilere uygula", "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": "Başarılı yanıt", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operation" } } } }, "401": { "description": "Giriş gerekli", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Erişim yok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Kaynak bulunamadı", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "409": { "description": "Devlet çatışması", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Geçici olarak kullanılamıyor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "description": "Filtre değişikliği operation döndürür. Geçmişe uygulamak için 8–120 karakterlik Idempotency-Key gerekir. Yeniden denerken aynı anahtarı kullanın; durumu GET /v1/operations/{operation_id} ile kontrol edin." } ``` # 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": "Ana alıcıların adresleri." }, "cc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Cc", "description": "Diğer katılımcıların görebileceği alıcı adreslerini kopyalayın." }, "bcc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Bcc", "description": "Bcc alıcı adresleri." }, "subject": { "type": "string", "maxLength": 998, "title": "Subject", "default": "", "description": "Mektubun konusu." }, "text": { "type": "string", "maxLength": 200000, "title": "Text", "default": "", "description": "Mektubun metni biçimlendirilmeden." }, "html": { "anyOf": [ { "type": "string", "maxLength": 300000 }, { "type": "null" } ], "title": "Html", "description": "HTML-Mektubun biçimlendirilmiş versiyonu." }, "file_ids": { "items": { "type": "string", "format": "uuid" }, "type": "array", "maxItems": 20, "title": "File Ids", "description": "ID daha önce bu posta kutusuna indirilmiş dosyalar. Bunları indirirken veya dosya listesinden alın." }, "forward_message": { "anyOf": [ { "$ref": "#/components/schemas/MessageReference" }, { "type": "null" } ], "description": "Eklerinin iletilmesi gereken orijinal e-posta." }, "reply_to_message_id": { "anyOf": [ { "type": "string", "maxLength": 998 }, { "type": "null" } ], "title": "Reply To Message Id", "description": "Yanıtladığınız e-postanın message_id değeri." }, "references": { "anyOf": [ { "type": "string", "maxLength": 4000 }, { "type": "null" } ], "title": "References", "description": "Yanıt zincirini kaydetmek için orijinal mesajın references değeri." }, "send_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Send At", "description": "Saat dilimiyle birlikte gecikmeli gönderim zamanı, örneğin 2026-11-01T12:00:00Z. Bir değer olmadan, kuyruk işlenirken gönderim başlar." } }, "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": "Klasör listesindeki klasör adı, örneğin INBOX." }, "uidvalidity": { "type": "integer", "exclusiveMinimum": 0, "title": "Uidvalidity", "description": "Bu klasör için API yanıtının değeri uidvalidity'dir." }, "uids": { "items": { "type": "integer" }, "type": "array", "maxItems": 100, "minItems": 1, "title": "Uids", "description": "Bir klasörden seçilen harflerin tanımlayıcıları." }, "action": { "type": "string", "enum": [ "read", "unread", "star", "unstar", "move", "delete" ], "title": "Action" }, "destination": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Destination", "description": "Hedef klasör adı. action=move. için gerekli" } }, "additionalProperties": false, "type": "object", "required": [ "folder", "uidvalidity", "uids", "action" ], "title": "MessageAction" }, "MessageReference": { "properties": { "folder": { "type": "string", "maxLength": 255, "minLength": 1, "title": "Folder", "description": "Klasör listesindeki klasör adı, örneğin INBOX." }, "uidvalidity": { "type": "integer", "exclusiveMinimum": 0, "title": "Uidvalidity", "description": "Bu klasör için API yanıtının değeri uidvalidity'dir." }, "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": "Ana alıcıların adresleri." }, "cc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Cc", "description": "Diğer katılımcıların görebileceği alıcı adreslerini kopyalayın." }, "bcc": { "items": { "type": "string" }, "type": "array", "maxItems": 50, "title": "Bcc", "description": "Bcc alıcı adresleri." }, "subject": { "type": "string", "maxLength": 998, "title": "Subject", "default": "", "description": "Mektubun konusu." }, "text": { "type": "string", "maxLength": 200000, "title": "Text", "default": "", "description": "Mektubun metni biçimlendirilmeden." }, "html": { "anyOf": [ { "type": "string", "maxLength": 300000 }, { "type": "null" } ], "title": "Html", "description": "HTML-Mektubun biçimlendirilmiş versiyonu." }, "file_ids": { "items": { "type": "string", "format": "uuid" }, "type": "array", "maxItems": 20, "title": "File Ids", "description": "ID daha önce bu posta kutusuna indirilmiş dosyalar. Bunları indirirken veya dosya listesinden alın." }, "forward_message": { "anyOf": [ { "$ref": "#/components/schemas/MessageReference" }, { "type": "null" } ], "description": "Eklerinin iletilmesi gereken orijinal e-posta." }, "reply_to_message_id": { "anyOf": [ { "type": "string", "maxLength": 998 }, { "type": "null" } ], "title": "Reply To Message Id", "description": "Yanıtladığınız e-postanın message_id değeri." }, "references": { "anyOf": [ { "type": "string", "maxLength": 4000 }, { "type": "null" } ], "title": "References", "description": "Yanıt zincirini kaydetmek için orijinal mesajın references değeri." }, "send_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Send At", "description": "Saat dilimiyle birlikte gecikmeli gönderim zamanı, örneğin 2026-11-01T12:00:00Z. Bir değer olmadan, kuyruk işlenirken gönderim başlar." } }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "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": "Durumu kontrol etmek ve bekleyen bir gönderimi iptal etmek için İşlem Kimliği." }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "created_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "completed_at": { "anyOf": [ { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, { "type": "null" } ] }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "İşlem başarıyla tamamlanmadıysa hatanın nedeni." }, "result": { "anyOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ], "description": "Operasyonun sonucu. Göndermek için kabul edilen ve reddedilen alıcılar hakkında bilgi içerir." } } }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, { "type": "null" } ] }, "ready_at": { "anyOf": [ { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, { "type": "null" } ] }, "delete_after": { "anyOf": [ { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, { "type": "null" } ] }, "created_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "updated_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "updated_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, { "type": "null" } ] } } }, "ContactResponse": { "type": "object", "properties": { "id": { "type": "integer" }, "mailbox_id": { "type": "integer" }, "email": { "type": "string" }, "name": { "type": "string" }, "created_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } }, "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": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } }, "FilterRecord": { "type": "object", "required": [ "id", "data", "updated_at" ], "properties": { "id": { "type": "integer" }, "data": { "$ref": "#/components/schemas/MailFilter" }, "updated_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" } } }, "FilterChange": { "type": "object", "required": [ "id", "data", "updated_at", "operation" ], "properties": { "id": { "type": "integer" }, "data": { "$ref": "#/components/schemas/MailFilter" }, "updated_at": { "type": "string", "description": "UTC. cinsinden tarih ve saat Eğer uzaklık yoksa değer aynı zamanda UTC. değerini de temsil eder" }, "operation": { "$ref": "#/components/schemas/Operation" } } } } ```