تخطَّ إلى المستندات
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. جميع الحقوق محفوظة.