البحث عن أسماء النطاقات المتاحة، وتسجيل النطاقات وتجديدها، وإدارة خواديم أسمائها والتجديد التلقائي لها.
يعيد النطاقات المسجلة في حسابك، 25 لكل صفحة. القائمة لا تحتوي على مرشحات.
الإذن المطلوب: domains:list
curl -X GET "https://admin.vps.org/api/v1/domains/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
url = "https://admin.vps.org/api/v1/domains/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers)
for domain in response.json()["results"]:
print(domain["domain_name"], domain["status"], domain["expiration_date"])
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const data = await response.json();
console.log(data.results);
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
"domain_name": "example.com",
"status": "active",
"registrar": "dynadot",
"registration_date": "2026-01-15T10:30:00Z",
"expiration_date": "2027-01-15T10:30:00Z",
"days_until_expiration": 122,
"is_expired": false,
"needs_renewal_soon": false,
"auto_renew": true,
"renewal_period_years": 1,
"registration_price": "12.64",
"renewal_price": "12.64",
"whois_privacy": true,
"nameserver1": "ns1.vps.org",
"nameserver2": "ns2.vps.org",
"nameserver3": "ns3.vps.org",
"nameserver4": null,
"transfer_lock": true,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-09-01T08:12:40Z"
}
]
}
| الميدان | يكتب | وصف المشروع |
|---|---|---|
uuid |
string | هوية النطاق المستخدمة في نقاط النهاية الأخرى للنطاق |
status |
string | active, pending, expired, cancelled, transferred |
registrar |
string | المسجل الذي يحتفظ بالنطاق |
registration_date, expiration_date |
datetime | عندما تم تسجيل النطاق وعندما ينتهي. expiration_date يمكن أن يكون عديمة. |
days_until_expiration |
integer | null | عدد الأيام الكاملة حتى تاريخ انتهاء الصلاحية، سالب عند انتهاء الصلاحية |
is_expired, needs_renewal_soon |
boolean | ما إذا كان النطاق قد انتهت صلاحيته، وما إذا كان سينتهي خلال الـ 30 يوماً القادمة |
auto_renew, renewal_period_years |
boolean, integer | ما إذا كان النطاق يجدد تلقائيا، ولعدد السنوات |
registration_price, renewal_price |
string | الأسعار بدولارات الولايات المتحدة كسلسلة عشرية |
whois_privacy, transfer_lock |
boolean | إعدادات خصوصية WHOIS وقفل نقل التسجيل |
nameserver1 to nameserver4 |
string | null | خادم أسماء النطاق |
created_at, updated_at |
datetime | تاريخ إنشاء السجل وآخر تغيير له (ISO 8601، UTC) |
يعيد كائن مجال واحد مع الحقول أعلاه.
الإذن المطلوب: domains:list
curl -X GET "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | النجاح |
| 404 | لم يُعثر عليها، أو أنها تنتمي إلى حساب آخر |
يتحقق من مدى توافر الاسم عبر حوالي 20 امتداد شائع (com, net, org, io, dev, co, app, ai وأكثر)، بالإضافة إلى الامتداد الذي قمت بكتابته إذا لم يكن من بينهم. تبدأ النتائج بالمطابقة الدقيقة، ثم الأسماء المتاحة، ثم الأسماء المأخوذة.
الإذن المطلوب: domains:search
| البارامترات | يكتب | مطلوب | وصف المشروع |
|---|---|---|---|
domain |
string | نعم | اسم مع أو بدون امتداد، مثل موقعي أو موقعي.كوم (من 2 إلى 63 حرفاً) |
curl -X POST "https://admin.vps.org/api/v1/domains/search/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "mysite.com"}'
import requests
url = "https://admin.vps.org/api/v1/domains/search/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.post(url, headers=headers, json={"domain": "mysite.com"})
for result in response.json()["results"]:
if result["available"]:
print(result["domain"], result["registration_price"], result["renewal_price"])
{
"results": [
{
"domain": "mysite.com",
"available": false,
"price": null,
"registration_price": null,
"renewal_price": null,
"tld": "com",
"is_exact_match": true
},
{
"domain": "mysite.dev",
"available": true,
"price": 17.24,
"registration_price": 17.24,
"renewal_price": 17.24,
"tld": "dev",
"is_exact_match": false
}
],
"base_domain": "mysite",
"search_count": 20
}
والأسعار هي أرقام بدولارات الولايات المتحدة لسنة واحدة، وتكون صفرية بالنسبة للأسماء غير المتاحة، والأسعار المبينة هي أسعار توضيحية.
| 200 | النجاح |
| 400 | النطاق غير موجود، أو يحتوي على حروف غير الحروف والأرقام والشروط |
| 500 | فشل البحث في السجل. حاول مرة أخرى لاحقاً. |
يسجل نطاقاً ويقوم بتسديد رسوم طريقة الدفع التي قمت بحفظها. يتم التحقق من توفر النطاق والسعر مع المسجل مرة أخرى قبل تسديد الرسوم مباشرة. يتم أخذ تفاصيل الاتصال بالمسجل من بيانات حسابك. إذا رفض المسجل التسجيل بعد تسديد الرسوم، يتم رد الدفع.
الإذن المطلوب: domains:register (ممنوح من قبل المجالات:*)
| البارامترات | يكتب | مطلوب | وصف المشروع |
|---|---|---|---|
domain |
string | نعم | اسم النطاق الكامل بما في ذلك امتداده، مثل example.com |
years |
integer | لا | مدة التسجيل، من 1 إلى 10 (الافتراضي 1). السعر هو السعر السنوي مضروباً في عدد السنوات. يتطلب .ai 2 سنة على الأقل؛ أي قيمة أصغر تُرجع 400. |
curl -X POST "https://admin.vps.org/api/v1/domains/register/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "mysite.dev", "years": 1}'
{
"success": true,
"domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
"domain_name": "mysite.dev",
"message": "mysite.dev registered successfully!"
}
| 201 | النطاق المسجل |
| 400 | نطاق غير صحيح، أو نطاق لم يعد متاحا، أو السعر الذي لم يمكن التحقق منه، أو طريقة الدفع القديمة، أو فشل الدفع |
| 402 | عدم وجود طريقة دفع في الملف، أو فواتير غير مدفوعة |
| 500 | ولم يتسن تجهيز السداد، أو رفض المسجل التسجيل بعد السداد، وفي الحالة الثانية تبين رسالة الخطأ ما إذا كان رد المبلغ قد تم. |
تجديد النطاق وتحميل تكلفة تجديده لكل سنة على طريقة الدفع التي قمت بحفظها.
الإذن المطلوب: domains:renew
| البارامترات | يكتب | مطلوب | وصف المشروع |
|---|---|---|---|
years |
integer | لا | السنوات التي تضاف، 1 إلى 10 (1 افتراضياً) |
curl -X POST "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/renew/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"years": 1}'
{
"success": true,
"domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
"new_expiration": "2028-01-15T10:30:00+00:00",
"message": "example.com renewed successfully for 1 year(s)!"
}
| 200 | تم تجديد النطاق |
| 400 | سنوات غير صحيحة، لا سعر تجديد للنطاق، لا طريقة دفع قابلة للاستخدام، أو فشل الدفع |
| 404 | لم يُعثر عليها، أو أنها تنتمي إلى حساب آخر |
| 500 | لم يكن من الممكن معالجة الدفع، أو تم الدفع ولكن فشل تجديد المسجل، اتصل بالدعم في هذه الحالة. |
يحدد خادم أسماء المجال في المسجل ويعيد كائن المجال المحدث. لإدارة DNS مع API DNS، استخدم ns1.vps.org، ns2.vps.org و ns3.vps.org وإنشاء منطقة للنطاق.
الإذن المطلوب: domains:update
| البارامترات | يكتب | مطلوب | وصف المشروع |
|---|---|---|---|
nameserver1 |
string | نعم | اسم مضيف خادم الأسماء الأولي |
nameserver2, nameserver3, nameserver4 |
string | لا | أسماء مضيفة إضافية لخواديم الأسماء |
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/nameservers/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"nameserver1": "ns1.vps.org", "nameserver2": "ns2.vps.org", "nameserver3": "ns3.vps.org"}'
| 200 | تحديث خواديم الأسماء؛ والجسم هو كائن النطاق |
| 400 | خدمة خدمة الاسم 1 مفقودة |
| 404 | لم يُعثر عليها، أو أنها تنتمي إلى حساب آخر |
| 500 | فشل التحديث؛ لدى الجسم حقول خطأ ورسالة |
يحدد auto_renew ويعيد كائن النطاق المحدث. إرسال مفعول كJSON بوليان: أي سلسلة غير فارغة، بما في ذلك سلسلة false، يشغل التجديد الآلي.
الإذن المطلوب: domains:update
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/auto-renew/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'
| 200 | حفظ الإعداد؛ الجسم هو كائن المجال |
| 400 | المفقودون |
| 404 | لم يُعثر عليها، أو أنها تنتمي إلى حساب آخر |