مرجع API
REST API كامل لأتمتة عمليات النشر وإدارة السيرفرات والمشاريع برمجياً.
نظرة عامة
API نشر يستخدم REST مع JSON. كل الطلبات تحتاج API token في الـ header.
https://api.nashir.dev/v1
# Authentication header
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.nashir.dev/v1/projects
GET/v1/projects/{project_id}/deployments
يرجع قائمة بكل عمليات النشر لمشروع معين.
# List deployments
curl -H "Authorization: Bearer $TOKEN" \
https://api.nashir.dev/v1/projects/proj_abc123/deployments
# Response
{
"deployments": [
{
"id": "dpl_k8f2n9",
"status": "live",
"version": 12,
"branch": "main",
"commit": "a1b2c3d",
"duration": 8.2,
"created_at": "2025-03-15T14:30:00Z"
}
]
}
POST/v1/projects/{project_id}/deployments
يبدأ عملية نشر جديدة. اختيارياً حدد البرانش أو الكوميت.
# Trigger a deployment
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"branch": "main"}' \
https://api.nashir.dev/v1/projects/proj_abc123/deployments
# Response
{
"id": "dpl_m3x7p1",
"status": "building",
"version": 13
}
GET/v1/servers
يرجع قائمة بكل السيرفرات المربوطة بحسابك.
curl -H "Authorization: Bearer $TOKEN" \
https://api.nashir.dev/v1/servers
# Response
{
"servers": [
{
"id": "srv_h3tzn3r",
"name": "hetzner-prod-01",
"ip": "178.128.0.42",
"status": "healthy",
"apps": 3,
"uptime": "99.99%"
}
]
}
GET/v1/projects
يرجع كل المشاريع المربوطة بحسابك.
curl -H "Authorization: Bearer $TOKEN" \
https://api.nashir.dev/v1/projects
# Response
{
"projects": [
{
"id": "proj_abc123",
"name": "my-app",
"framework": "nextjs",
"domain": "my-app.com",
"server_id": "srv_h3tzn3r",
"last_deploy": "2025-03-15T14:30:00Z"
}
]
}
DELETE/v1/projects/{project_id}/deployments/{deploy_id}
يحذف نشر معين. ما يقدر يحذف النشر اللي شغال حالياً.
curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
https://api.nashir.dev/v1/projects/proj_abc123/deployments/dpl_k8f2n9
# Response: 204 No Content