كيف يشتغلالمميزاتكم التكلفةالتوثيقابدأ الحين

مرجع 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