DNS bağlantıları
Çalışma alanına bağlı DNS sağlayıcısı hesapları; OpenEmail bir alan adının kayıtlarını bunlar üzerinden kendisi yazar. Bir hesap uygulamada bağlanır, çünkü sağlayıcı kişiden oturum açmasını ister.
3 çağrıdan herhangi birini çalışma alanınızda çalıştırır.
GET /dns-connections
Çalışma alanına bağlı DNS sağlayıcısı hesapları; OpenEmail bir alan adının kayıtlarını bunlar üzerinden kendisi yazar. Bir hesap uygulamada bağlanır, çünkü sağlayıcı kişiden oturum açmasını ister.
Bağlantıları listeleme
domains:read gerektirir. Bağlantısı kesilmiş olanlar dahil her bağlantı, her birinin hizmet verdiği alan adlarıyla birlikte. Bu sunucu hiçbir sağlayıcıyı bağlayamıyorsa configured false olur.
curl "$OE/dns-connections" -H "$AUTH"{ "object": "list", "configured": true, "data": [ { "object": "dns_connection", "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d", "provider": "cloudflare", "subject": "[email protected]", "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }], "status": "active", "lastVerifiedAt": "2026-09-30T08:00:00.000Z", "lastError": null, "createdAt": "2026-09-01T10:12:00.000Z", "domains": [ { "domainId": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f", "domain": "acme.com", "zoneId": "023e105f4ecef8ad9ca31a8372d0c353", "zoneName": "acme.com", "state": "ready", "records": 7, "keepsMail": true, "busy": false } ], "records": 7, "removable": false } ]}status, OpenEmail bağlantı üzerinden yazabildiği sürece active, sağlayıcı hesabın uygulamada yeniden bağlanmasını istediğinde needs-reauth, bağlantı kesildikten sonra revoked ve son çağrı başarısız olduğunda error olur.
Tek bir bağlantıyı okuma
domains:read gerektirir. GET /dns-connections/{id}, bağlantıyı kesmenin geride ne bırakacağını ekler: busy üzerinde eşitleme çalışan alan adlarını, keepsMail ise kayıtları kaldırıldığında posta almayı bırakan doğrulanmış alan adlarını belirtir.
curl "$OE/dns-connections/dnsl_3f9a1c2e7b4d4e6f8a0b2c3d" -H "$AUTH"{ "object": "dns_connection", "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d", "provider": "cloudflare", "subject": "[email protected]", "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }], "status": "active", "lastVerifiedAt": "2026-09-30T08:00:00.000Z", "lastError": null, "createdAt": "2026-09-01T10:12:00.000Z", "domains": [ { "domainId": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f", "domain": "acme.com", "zoneId": "023e105f4ecef8ad9ca31a8372d0c353", "zoneName": "acme.com", "state": "ready", "records": 7, "keepsMail": true, "busy": false } ], "records": 7, "removable": false, "busy": [], "keepsMail": ["acme.com"]}Bir bağlantıyı kesme
domains:write gerektirir. DELETE /dns-connections/{id}, bağlantı üzerinden yazılmış kayıtları kaldırır, hizmet verdiği her alan adını ayırır ve bağlantıyı sağlayıcıda iptal eder. Kayıtları kaldırılan doğrulanmış bir alan adı posta almayı bırakır, bu yüzden önce bağlantıyı okuyun.
curl -X DELETE "$OE/dns-connections/dnsl_3f9a1c2e7b4d4e6f8a0b2c3d" -H "$AUTH"{ "object": "dns_connection", "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d", "provider": "cloudflare", "subject": "[email protected]", "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }], "status": "revoked", "lastVerifiedAt": "2026-09-30T08:00:00.000Z", "lastError": null, "createdAt": "2026-09-01T10:12:00.000Z", "removed": false, "confirmed": true, "detached": { "domains": 1, "detached": 1, "removed": 7, "rewritten": 0, "pending": 0, "left": [] }}Zaten kesilmiş bir bağlantıyı silmek, üzerinde hiçbir alan adı ve hiçbir kayıt kalmadığında onu listeden kaldırır ve removed true olur. Üzerinde hâlâ bir şey varsa çağrı 409 dns_connection_in_use olur.
Alan adlarından birinde eşitleme çalışıyorsa istek 409 dns_busy ile reddedilir ve hiçbir şey iptal edilmez.
Belirli adreslerle ya da alan adlarıyla sınırlı bir anahtar ya da uygulama 422 capability_unsupported ile reddedilir; bir üye adına çalışan bir uygulama ise ayrıca o üyenin rolünde workspace:manage gerektirir.
Bir OAuth erişim tokenı bu çağrı için bir doğrulama kodu gerektirir. Uygulama son 60 dakika içinde bir kod doğrulayana kadar çağrı 403 step_up_required yanıtını verir ve hiçbir şeyi değiştirmez. Bir API anahtarından asla istenmez. Kimlik doğrulama sayfası bir kodun nasıl isteneceğini ve doğrulanacağını gösterir.