پرش به مستندات
API

افزودن یک دامنه

یک دامنه به فضای کاری اضافه می‌کند و آن را با همهٔ رکوردهای DNS که نیاز دارد برمی‌گرداند. دامنه تأییدنشده و با catch-all روشن شروع می‌کند، و وقتی رکوردها در DNS عمومی پاسخ دهند خودبه‌خود تأیید می‌شود.

POST/domains

فراخوانی واقعی را با کلید خودتان روی فضای کاری شما اجرا می‌کند.

POST /domains

یک دامنه به فضای کاری اضافه می‌کند و آن را با همهٔ رکوردهای DNS که نیاز دارد برمی‌گرداند. دامنه تأییدنشده و با catch-all روشن شروع می‌کند، و وقتی رکوردها در DNS عمومی پاسخ دهند خودبه‌خود تأیید می‌شود.

درخواست

پارامترها

domainstringالزامی
یک دامنهٔ خالی مانند `acme.com` یا `mail.acme.com`. فاصله‌های اضافی‌اش حذف و به حروف کوچک تبدیل می‌شود، و نام بین‌المللی به شکل ASCII ذخیره می‌شود. طرح، مسیر یا نشانی رد می‌شود.

نمونه

به domains:write نیاز دارد، و به کلیدی بدون محدودیت نشانی یا دامنه، چون دامنهٔ تازه به کل فضای کاری می‌رسد.

curl
curl -X POST "$OE/domains" -H "$AUTH" -H "Content-Type: application/json" \  -d '{ "domain": "acme.com" }'
پاسخ
{  "object": "domain",  "id": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f",  "domain": "acme.com",  "receiving": {    "verified": false,    "verifiedAt": null,    "catchAll": true,    "lastCheckedAt": "2026-09-25T10:00:02.000Z",    "error": "No MX records yet. DNS changes can take a few minutes to spread."  },  "sending": {    "status": "no_identity",    "canSend": false,    "checkedAt": null,    "error": null,    "note": "Sending is not set up yet. Publish the signing record listed for this domain, and sending switches on shortly after it answers in DNS."  },  "tracking": { "host": null, "status": "none", "active": false, "target": "", "record": null, "checkedAt": null, "verifiedAt": null, "error": null },  "storage": { "host": null, "status": "none", "active": false, "target": "", "record": null, "checkedAt": null, "verifiedAt": null, "error": null },  "addresses": [],  "createdAt": "2026-09-25T10:00:00.000Z",  "records": [    { "type": "MX", "name": "acme.com", "value": "inbound.mail.example", "priority": 10, "purpose": null, "status": "missing" },    { "type": "TXT", "name": "acme.com", "value": "v=spf1 include:_spf.openemail.uk ~all", "priority": null, "purpose": null, "status": "missing" },    { "type": "TXT", "name": "_openemail-challenge.acme.com", "value": "oe-verify=4f1c9a2b7e8d6053a1c4", "priority": null, "purpose": "Proves you own this domain", "status": "missing" }  ],  "dmarc": null}

مثال records را کوتاه کرده است. یک پاسخ واقعی همهٔ رکوردهایی را که دامنه نیاز دارد فهرست می‌کند، از جمله DMARC، CNAMEهای امضا و رکوردهای return-path، و GET /domains/{id} هر فیلد را شرح می‌دهد.

رکوردها را دقیقاً همان‌طور که داده شده‌اند منتشر کنید، سپس POST /domains/{id}/verify را فرا بخوانید یا صبر کنید: دامنه هر بار که خوانده شود و با یک پیمایش پس‌زمینه دوباره بررسی می‌شود، و domain.verified همان لحظه‌ای که بررسی را بگذراند اجرا می‌شود.

چه زمانی رد می‌شود

  • 409 domain_already_added: مالک این فضای کاری از قبل این دامنه را دارد.
  • 409 domain_claimed: حساب دیگری آن را دارد.
  • 409 related_domain_owned: یک دامنهٔ والد یا زیردامنه‌ای از آن متعلق به حساب دیگری است، پس نمی‌توان آن را میان این دو تقسیم کرد.
  • 409 operator_domain: دامنه متعلق به خود OpenEmail است.
  • 403 domain_allowance_reached: طرح اشتراک جای دامنهٔ بیشتری ندارد. پیام، طرحی را نام می‌برد که جای بیشتری دارد.
  • 422 capability_unsupported: کلید به نشانی‌ها یا دامنه‌های مشخصی محدود است.

صندوق ورودی شما،
با شرایط خودتان.

زیرساخت ایمیل برای کسب‌وکارها، هوش مصنوعی، عامل‌ها و ایمیل شخصی. ساخته‌شده برای مقیاس، حریم خصوصی و کنترل. هر چه ایمیل باید از روز نخست می‌داشت.

OpenEmail

زیرساخت ایمیل برای کسب‌وکارها، هوش مصنوعی، عامل‌ها و ایمیل شخصی. ساخته‌شده برای مقیاس، حریم خصوصی و کنترل. هر چه ایمیل باید از روز نخست می‌داشت.

© 2026 OpenEmail. همه حقوق محفوظ است.