API למפתחים
האזור האישי, גם דרך הקוד
שירותים, חשבוניות, פניות, ניטור ו-DNS, דרך REST API עם מפתח אישי שנוצר באזור האישי.
- מפתח אישי שמוצג פעם אחת
- הרשאות נפרדות לכל מפתח
- מגבלת קצב ויומן שימוש לכל מפתח
בנינו את ה-API כי לקוחות רצו לחבר את שירותי האחסון שלהם למערכות שהם כבר עובדים איתן: סקריפט קטן שבודק סטטוס, חיבור למערכת ניהול פנימית, או סוכן AI שעוקב אחרי התשתית.
דרך ה-API אפשר לקרוא את פרטי החשבון, השירותים, החשבוניות, התשלומים, שרתי ה-VPS, חשבונות האחסון, הניטור, ה-DNS וההזמנות; לפתוח פניות תמיכה ולהגיב עליהן; ולבטל שירות. כל קריאה עוברת עם מפתח API אישי, מוגבלת בקצב ונרשמת ביומן השימוש של המפתח.
הערה לגבי שפת התיעוד
ממשק ה-API ודוגמאות הקוד כתובים באנגלית. מומלץ לשלוח את התיעוד הזה למפתחים באנגלית לנוחות עבודה מיטבית. הוספנו תמיכה בעברית לממשק המשתמש למקרה שיש צורך בכך.
מבוא
ה-API של Hostey מאורגן סביב עקרונות REST. הוא משתמש בכתובות URL צפויות מבוססות משאבים, מקבל גוף בקשה בפורמט JSON, מחזיר תגובות בפורמט JSON, ומשתמש בקודי HTTP סטנדרטיים.
גרסאות
ה-API מנוהל לפי גרסאות דרך נתיב ה-URL. הגרסה הנוכחית היא v1. כאשר יוכנסו שינויים שוברים, גרסה חדשה תשוחרר תחת נתיב חדש.
סוג התוכן
כל בקשה שכוללת גוף חייבת להשתמש ב- Content-Type: application/json. כל התגובות מוחזרות כ-JSON.
https://hostey.co.il/api/v1אימות
כל בקשת API חייבת לכלול את מפתח ה-API בכותרת Authorization בשיטת Bearer.
יצירת מפתח
- התחברות ל- פורטל הלקוחות.
- ניווט אל הגדרות > מפתחות API.
- לחיצה על "יצירת מפתח חדש" ומתן שם תיאורי.
- העתקת המפתח מיד. הוא מוצג רק פעם אחת.
מפתחות API מתחילים ב- hst_ והם מוגבלים לחשבון שלכם. כברירת מחדל מפתח מעניק גישה מלאה; ניתן להגביל אותו למשאבים ספציפיים (קריאה/כתיבה) ולהגדיר תאריך תפוגה בעת היצירה.
הרשאות
מפתח בלי הרשאות מקבל גישה מלאה. כדי להגביל אותו, נותנים לו רשימת הרשאות בפורמט read:<resource> או write:<resource>. המשאבים הם:
accountservicesinvoicespaymentsticketsvpshostingmonitorsdnsorders
אפשר גם כוכבית: * נותן גישה לכל דבר, read:* נותן קריאה בכל המשאבים, write:* נותן כתיבה בכל המשאבים, ו-*:<resource> נותן קריאה וכתיבה במשאב אחד.
בקשת GET צריכה הרשאת read:. כל שיטה אחרת (POST, PUT, DELETE) צריכה הרשאת write:, ולכן ביטול שירות צריך write:services ופתיחת פנייה צריכה write:tickets. כשחסרה הרשאה, התשובה היא 403 עם הקוד INSUFFICIENT_PERMISSIONS.
Authorization: Bearer hst_your_api_keycurl https://hostey.co.il/api/v1/account \ -H "Authorization: Bearer hst_your_api_key"
הגבלת קצב
ה-API מגביל ל- 100 בקשות לדקה לכל מפתח API (המגבלה נקבעת לכל מפתח, בין 1 ל-1000). יש גם תקרה של 120 בקשות לדקה לכל כתובת IP, על פני כל המפתחות, ולכן מפתח שהוגדר מעליה לא יגיע למספר שלו מכתובת אחת. בחריגה מהמגבלה של המפתח, תגובת ה-429 מגיעה עם הקוד RATE_LIMITED ועם שתי כותרות: Retry-After ו-X-RateLimit-Remaining. בחריגה מהתקרה של כתובת ה-IP, היא מגיעה עם הקוד TOO_MANY_REQUESTS ורק עם הכותרת Retry-After.
| פרמטר | סוג | תיאור |
|---|---|---|
Retry-After | integer | כמה שניות לחכות לפני ניסיון חוזר. נשלח רק בתגובות 429. |
X-RateLimit-Remaining | integer | כמה בקשות נשארו בחלון הנוכחי, כאן תמיד 0. נשלח רק עם הקוד RATE_LIMITED, לא עם TOO_MANY_REQUESTS. |
לשלוש פעולות כתיבה יש גם מגבלה לכל חשבון, בנוסף למגבלה של המפתח: פתיחת פנייה, תגובה לפנייה וביטול שירות. כל אחת מהן מאפשרת 5 בקשות לדקה, והבקשה הבאה מקבלת 429 עם הקוד RATE_LIMITED והכותרת Retry-After.
כאשר חורגים מהמגבלה, ה-API מחזיר 429 Too Many Requests. מומלץ ליישם backoff מעריכי באינטגרציה.
{
"error": "Rate limit exceeded",
"code": "RATE_LIMITED"
}עימוד
נקודות קצה של רשימות מחזירות תוצאות מעומדות. ניתן להשתמש בפרמטרים לשליטה בעימוד.
| פרמטר | סוג | תיאור |
|---|---|---|
page | integer | מספר העמוד, מתחיל ב-1. ברירת מחדל: 1. |
limit | integer | כמות פריטים בעמוד. ברירת מחדל: 50, מקסימום 500. |
השדה total הוא מספר הפריטים בכל העמודים, והשדה totalPages הוא מספר העמודים: Math.ceil(total / limit).
{
"data": [ ... ],
"total": 42,
"page": 1,
"limit": 50,
"totalPages": 1
}טיפול בשגיאות
ה-API משתמש בקודי HTTP סטנדרטיים. קודים בטווח 2xx מציינים הצלחה, 4xx מציינים שגיאת לקוח, ו-5xx מציינים שגיאת שרת.
| קוד | סטטוס | תיאור |
|---|---|---|
| 200 | OK | הבקשה הצליחה. |
| 201 | Created | המשאב נוצר בהצלחה. |
| 400 | Bad Request | חסרים שדות חובה, או שהבדיקה נכשלה. המערך details מפרט את השדות הבעייתיים. |
| 401 | Unauthorized | מפתח ה-API חסר או לא תקין. |
| 403 | Forbidden | אין הרשאה למשאב המבוקש. |
| 404 | Not Found | המשאב לא קיים, או שאינו שייך לחשבון. |
| 409 | Conflict | הבקשה מתנגשת במצב של המשאב. כך עונה ביטול של שירות שמשולם בהעברה בנקאית. |
| 429 | Too Many Requests | חריגה ממגבלת הקצב. |
| 500 | Internal Server Error | תקלה בצד שלנו. |
| 501 | Not Implemented | נקודת הקצה קיימת, אבל הפעולה עדיין לא זמינה. כך עונה חידוש שירות. |
| 502 | Bad Gateway | שליפת ה-PDF של החשבונית מספק התשלומים נכשלה. הבקשה עצמה הייתה תקינה. |
בכל תשובת שגיאה יש הודעה (error) וקוד קבוע (code). ההודעה יכולה להשתנות והקוד לא, ולכן באינטגרציה כדאי לבדוק את הקוד.
קודי שגיאה
| קוד | HTTP | תיאור |
|---|---|---|
| MISSING_API_KEY | 401 | לא נשלחה כותרת Authorization: Bearer. |
| INVALID_API_KEY | 401 | המפתח לא מוכר, בוטל או פג תוקפו, או שהחשבון לא פעיל. |
| INSUFFICIENT_PERMISSIONS | 403 | למפתח אין את ההרשאה שהבקשה הזו צריכה. |
| NOT_FOUND | 404 | המשאב לא קיים, או שאינו שייך לחשבון. |
| INVALID_JSON | 400 | גוף הבקשה אינו JSON תקין. |
| VALIDATION_ERROR | 400 | שדה לא עבר את הבדיקה. המערך details מפרט כל שדה. |
| TICKET_CLOSED | 400 | נשלחה תגובה לפנייה סגורה. |
| INVALID_TRANSITION | 400 | אי אפשר להעביר את השירות לסטטוס המבוקש. |
| BANK_TRANSFER | 409 | השירות משולם בהעברה בנקאית. כדי לבטל אותו, פונים לתמיכה. |
| RATE_LIMITED | 429 | הגעתם למגבלה של המפתח, או למגבלה לכל חשבון על פעולת כתיבה. |
| TOO_MANY_REQUESTS | 429 | יותר מדי בקשות מכתובת IP אחת. |
| INTERNAL_ERROR | 500 | תקלה בצד שלנו. |
| NOT_IMPLEMENTED | 501 | הפעולה עדיין לא זמינה. כך עונה חידוש שירות. |
| PDF_UNAVAILABLE | 502 | לא ניתן היה לשלוף את ה-PDF של החשבונית מספק התשלומים. |
{
"error": "Ticket not found",
"code": "NOT_FOUND"
}{
"error": "נתונים לא תקינים",
"code": "VALIDATION_ERROR",
"details": [
{ "field": "subject", "message": "Subject must be at least 3 characters" },
{ "field": "message", "message": "Message must be at least 10 characters" }
]
}אימות (Auth)
7 נקודות קצההתחברות, הרשמה, שחזור סיסמה ובדיקת סשן.
חשבון
נקודת קצה אחתשליפת פרטים על החשבון המאומת, כולל פרטי קשר וספירות מצטברות.
/api/v1/accountמחזיר את פרטי הפרופיל עבור החשבון המשויך למפתח ה-API, כולל ספירות שירותים פעילים ופניות פתוחות.
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של החשבון. |
name | string | השם המוצג. |
firstName | string | null | שם פרטי של איש הקשר. |
lastName | string | null | שם משפחה של איש הקשר. |
companyName | string | null | שם החברה. |
email | string | כתובת המייל הראשית (לחיוב). |
phone | string | null | טלפון של איש הקשר. |
status | string | סטטוס החשבון (ACTIVE, SUSPENDED). |
createdAt | string | מועד פתיחת החשבון, בפורמט ISO 8601. |
activeServices | integer | מספר השירותים הפעילים. |
openTickets | integer | מספר הפניות בסטטוס OPEN או IN_PROGRESS. |
curl https://hostey.co.il/api/v1/account \ -H "Authorization: Bearer hst_your_api_key"
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Acme Corp",
"firstName": "Yossi",
"lastName": "Cohen",
"companyName": "Acme Corp Ltd",
"email": "billing@acme.co.il",
"phone": "050-1234567",
"status": "ACTIVE",
"createdAt": "2025-06-15T10:30:00.000Z",
"activeServices": 3,
"openTickets": 1
}שירותים
2 נקודות קצהשליפת שירותי האירוח המשויכים לחשבון. שירותים מייצגים מנויים פעילים לשרתי VPS, חבילות אירוח משותף, או תוספים.
/api/v1/servicesמחזיר רשימת כל השירותים המשויכים לחשבון, ממוינים לפי תאריך יצירה (החדש ביותר ראשון).
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של השירות. |
productName | string | שם המוצר, כפי שהוא מוצג. |
productType | string | VPS, SHARED_HOSTING או ADDON. |
status | string | PENDING, PROVISIONING, ACTIVE, SUSPENDED, CANCELLED, TERMINATED. |
amount | number | סכום החיוב לכל מחזור (בשקלים). |
billingCycle | integer | מחזור החיוב בחודשים (1 = חודשי, 12 = שנתי). |
nextDueDate | string | מועד החיוב הבא, בפורמט ISO 8601. |
curl https://hostey.co.il/api/v1/services \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91",
"productId": "9b2f7e1c-4d3a-4f8b-b6e2-1c5d8a7f3e60",
"productName": "VPS Basic",
"productType": "VPS",
"status": "ACTIVE",
"amount": 99.00,
"currency": "ILS",
"billingCycle": 1,
"nextDueDate": "2026-04-15T00:00:00.000Z",
"createdAt": "2025-06-15T10:30:00.000Z"
}
],
"total": 3,
"page": 1,
"limit": 50,
"totalPages": 1
}/api/v1/services/:idמחזיר מידע מפורט על שירות בודד, כולל סטטוס ההקמה וההגדרות שלו.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של השירות. |
curl https://hostey.co.il/api/v1/services/3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91 \ -H "Authorization: Bearer hst_your_api_key"
{
"id": "3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91",
"productId": "9b2f7e1c-4d3a-4f8b-b6e2-1c5d8a7f3e60",
"productName": "VPS Basic",
"productType": "VPS",
"productDescription": "2 vCPU, 4 GB RAM, 80 GB NVMe SSD",
"status": "ACTIVE",
"provisioningStatus": "COMPLETED",
"amount": 99.00,
"currency": "ILS",
"billingCycle": 1,
"nextDueDate": "2026-04-15T00:00:00.000Z",
"configuration": {
"label": "vps-basic-42",
"provider": "OVH",
"ovhServiceName": "vps-12345678.vps.ovh.net",
"ipv4": "198.51.100.42",
"ipv6": "2001:db8::42",
"region": "EU West (France)",
"status": "running",
"os": "Ubuntu 24.04 LTS",
"notes": "Production web server"
},
"createdAt": "2025-06-15T10:30:00.000Z",
"updatedAt": "2026-03-10T09:15:00.000Z"
}פניות
3 נקודות קצהיצירה וניהול פניות תמיכה. צפייה בכל הפניות, יצירת חדשות, וצפייה בפרטי פנייה עם היסטוריית הודעות מלאה.
/api/v1/ticketsמחזיר רשימת כל פניות התמיכה בחשבון, ממוינות לפי תאריך יצירה (החדשה ביותר ראשונה).
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של הפנייה. |
number | integer | מספר הפנייה, כפי שהוא מוצג. |
subject | string | נושא הפנייה. |
priority | string | LOW, MEDIUM, HIGH או URGENT. |
status | string | OPEN, IN_PROGRESS, WAITING, RESOLVED או CLOSED. |
curl https://hostey.co.il/api/v1/tickets \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "5d8e2f1a-6b3c-4e7d-9a1f-2c4b6e8d0f13",
"number": 1042,
"subject": "Cannot SSH into VPS",
"priority": "HIGH",
"status": "OPEN",
"createdAt": "2026-03-18T08:30:00.000Z",
"updatedAt": "2026-03-18T08:30:00.000Z"
}
],
"total": 8,
"page": 1,
"limit": 50,
"totalPages": 1
}/api/v1/ticketsיוצר פניית תמיכה חדשה. ההודעה הראשונית נכללת בגוף הבקשה. הפנייה נוצרת עם סטטוס OPEN.
גוף הבקשה
| פרמטר | סוג | תיאור |
|---|---|---|
subjectחובה | string | נושא הפנייה, 3 עד 200 תווים. |
messageחובה | string | תוכן ההודעה הראשונה, 10 עד 10,000 תווים. |
priority | string | LOW, MEDIUM, HIGH או URGENT. ברירת מחדל: MEDIUM. |
curl -X POST https://hostey.co.il/api/v1/tickets \ -H "Authorization: Bearer hst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "subject": "Cannot SSH into VPS", "message": "I am unable to connect to my VPS via SSH since this morning.", "priority": "HIGH" }'
{
"id": "e4a7c2b9-1f3d-4a6e-8c5b-7d9f0a2e4c68",
"number": 1043,
"subject": "Cannot SSH into VPS",
"priority": "HIGH",
"status": "OPEN",
"createdAt": "2026-03-21T10:00:00.000Z"
}/api/v1/tickets/:idמחזיר את הפרטים המלאים של פנייה, כולל כל ההודעות הציבוריות. הערות פנימיות של הצוות לא נכללות בתגובה.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של הפנייה. |
שדות הודעה
| פרמטר | סוג | תיאור |
|---|---|---|
message | string | תוכן ההודעה. |
author | string | שם כותב ההודעה ("System" בהודעה שהמערכת יצרה). |
authorRole | string | CLIENT, PARTNER, ADMIN או SYSTEM. |
curl https://hostey.co.il/api/v1/tickets/5d8e2f1a-6b3c-4e7d-9a1f-2c4b6e8d0f13 \ -H "Authorization: Bearer hst_your_api_key"
{
"id": "5d8e2f1a-6b3c-4e7d-9a1f-2c4b6e8d0f13",
"number": 1042,
"subject": "Cannot SSH into VPS",
"priority": "HIGH",
"status": "OPEN",
"resolution": null,
"createdAt": "2026-03-18T08:30:00.000Z",
"updatedAt": "2026-03-19T16:00:00.000Z",
"messages": [
{
"id": "0f6b3d9e-2a4c-4b8e-9d1f-3e5a7c9b1d24",
"message": "I am unable to connect to my VPS via SSH.",
"author": "Yossi Cohen",
"authorRole": "CLIENT",
"createdAt": "2026-03-18T08:30:00.000Z"
},
{
"id": "1a7c4e0f-3b5d-4c9f-8e2a-4f6b8d0c2e35",
"message": "We identified a firewall rule blocking port 22.",
"author": "Support Team",
"authorRole": "ADMIN",
"createdAt": "2026-03-19T16:00:00.000Z"
}
]
}חשבוניות
2 נקודות קצהשליפת חשבוניות מס / קבלה המשויכות לחשבון, כולל פריטים וסטטוס תשלום.
/api/v1/invoicesמחזיר רשימת כל החשבוניות בחשבון, ממוינות לפי תאריך יצירה (החדשה ביותר ראשונה).
פרמטרים בשורת הכתובת
| פרמטר | סוג | תיאור |
|---|---|---|
page | integer | מספר עמוד (ברירת מחדל: 1). |
limit | integer | פריטים לעמוד (ברירת מחדל: 50). |
status | string | סינון לפי סטטוס (DRAFT / ISSUED / PAID / VOID / OVERDUE). |
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של החשבונית. |
invoiceNumber | string | מספר החשבונית. |
status | string | DRAFT, ISSUED, PAID, VOID, OVERDUE. |
subtotal | number | הסכום לפני מע"מ (בשקלים). |
taxAmount | number | סכום המע"מ (בשקלים). |
total | number | הסכום הכולל (בשקלים). |
issueDate | string | תאריך ההפקה, בפורמט ISO 8601. |
dueDate | string | תאריך היעד לתשלום, בפורמט ISO 8601. |
curl https://hostey.co.il/api/v1/invoices \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "6c1e8a3f-5d7b-4e2c-a9f4-8b0d2e4a6c57",
"invoiceNumber": "2026-0042",
"status": "PAID",
"subtotal": 99.00,
"taxAmount": 17.82,
"total": 116.82,
"currency": "ILS",
"issueDate": "2026-03-15T10:00:00.000Z",
"dueDate": "2026-04-01T00:00:00.000Z",
"createdAt": "2026-03-15T10:00:00.000Z"
}
],
"total": 12,
"page": 1,
"limit": 50,
"totalPages": 1
}/api/v1/invoices/:idמחזיר מידע מפורט על חשבונית בודדת, כולל כל הפריטים.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של החשבונית. |
curl https://hostey.co.il/api/v1/invoices/6c1e8a3f-5d7b-4e2c-a9f4-8b0d2e4a6c57 \ -H "Authorization: Bearer hst_your_api_key"
{
"id": "6c1e8a3f-5d7b-4e2c-a9f4-8b0d2e4a6c57",
"invoiceNumber": "2026-0042",
"status": "PAID",
"subtotal": 99.00,
"taxRate": 18,
"taxAmount": 17.82,
"total": 116.82,
"currency": "ILS",
"issueDate": "2026-03-15T10:00:00.000Z",
"dueDate": "2026-04-01T00:00:00.000Z",
"items": [
{
"id": "8e3a0c5b-7f9d-4a4e-b1c6-0d2f4a6e8b79",
"description": "VPS Basic - Monthly",
"quantity": 1,
"unitPrice": 99.00,
"lineTotal": 99.00
}
],
"createdAt": "2026-03-15T10:00:00.000Z",
"updatedAt": "2026-03-28T14:22:00.000Z"
}תשלומים
נקודת קצה אחתצפייה בהיסטוריית התשלומים של החשבון.
/api/v1/paymentsמחזיר רשימת כל התשלומים המשויכים לחשבון, ממוינים לפי תאריך (החדש ביותר ראשון).
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של התשלום. |
amount | number | סכום התשלום (בשקלים). |
method | string | אמצעי התשלום (למשל TRANZILA, CREDIT_CARD, BANK_TRANSFER). |
status | string | SUCCEEDED או REFUNDED. ניסיונות חיוב שנדחו לא מופיעים. |
cardLast4 | string | 4 הספרות האחרונות של הכרטיס (אם רלוונטי). |
invoiceId | string | מזהה החשבונית המשויכת. |
invoiceNumber | string | מספר החשבונית המשויכת. |
paidAt | string | מועד התשלום בפורמט ISO 8601 (null אם לא שולם). |
createdAt | string | מועד היצירה, בפורמט ISO 8601. |
curl https://hostey.co.il/api/v1/payments \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "4a9f6b2d-8e0c-4d5a-b3e7-9c1f3a5d7e8b",
"status": "SUCCEEDED",
"amount": 116.82,
"method": "TRANZILA",
"cardLast4": "4242",
"invoiceId": "6c1e8a3f-5d7b-4e2c-a9f4-8b0d2e4a6c57",
"invoiceNumber": "2026-0042",
"paidAt": "2026-03-28T14:22:00.000Z",
"createdAt": "2026-03-28T14:22:00.000Z"
}
],
"total": 24,
"page": 1,
"limit": 50,
"totalPages": 1
}VPS
2 נקודות קצהצפייה בשרתי ה-VPS של החשבון: פרטי השרת, כתובות IP, אזור, מערכת הפעלה וסטטוס. נקודות הקצה האלה לקריאה בלבד.
/api/v1/vpsמחזיר רשימת כל שרתי ה-VPS המשויכים לחשבון.
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של שרת ה-VPS. |
label | string | שם השרת. |
provider | string | ספק התשתית (למשל OVH). |
ipv4 | string | כתובת ה-IPv4 הראשית. |
ipv6 | string | כתובת IPv6 (אם הוקצתה). |
region | string | אזור מרכז הנתונים. |
os | string | מערכת ההפעלה. |
status | string | running, stopped או unknown. |
curl https://hostey.co.il/api/v1/vps \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91",
"label": "vps-basic-42",
"provider": "OVH",
"ipv4": "198.51.100.42",
"ipv6": "2001:db8::42",
"region": "EU West (France)",
"status": "running",
"os": "Ubuntu 24.04 LTS",
"createdAt": "2025-06-15T10:30:00.000Z",
"updatedAt": "2026-03-20T12:00:00.000Z"
}
],
"total": 1,
"page": 1,
"limit": 50,
"totalPages": 1
}/api/v1/vps/:idמחזיר מידע מפורט על שרת VPS בודד: כתובות IP, אזור, מערכת הפעלה, סטטוס והערות.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של שרת ה-VPS. |
curl https://hostey.co.il/api/v1/vps/3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91 \ -H "Authorization: Bearer hst_your_api_key"
{
"id": "3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91",
"label": "vps-basic-42",
"provider": "OVH",
"ovhServiceName": "vps-12345678.vps.ovh.net",
"ipv4": "198.51.100.42",
"ipv6": "2001:db8::42",
"region": "EU West (France)",
"status": "running",
"os": "Ubuntu 24.04 LTS",
"notes": "Production web server",
"createdAt": "2025-06-15T10:30:00.000Z",
"updatedAt": "2026-03-20T12:00:00.000Z"
}ניטור
2 נקודות קצהצפייה במוניטורים של זמינות ותוצאות בדיקות עבור השירותים.
/api/v1/monitorsמחזיר רשימת כל מוניטורי הזמינות המוגדרים בחשבון.
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של המוניטור. |
name | string | השם המוצג של המוניטור. |
type | string | HTTP, HTTPS, PORT, DNS או PING. |
target | string | הכתובת, שם השרת או ה-IP שמנוטרים. |
status | string | UP, DOWN, DEGRADED, PAUSED או PENDING. |
uptimePercent | number | אחוז הזמינות (30 הימים האחרונים). |
lastCheckAt | string | מועד הבדיקה האחרונה, בפורמט ISO 8601. |
lastResponseTime | integer | זמן התגובה בבדיקה האחרונה (מילישניות). |
curl https://hostey.co.il/api/v1/monitors \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "c7d2e9f4-0a1b-4c3d-8e5f-6a7b8c9d0e1f",
"name": "Production Website",
"type": "HTTPS",
"target": "https://example.co.il",
"port": null,
"interval": 60,
"status": "UP",
"isActive": true,
"lastCheckAt": "2026-03-21T12:00:00.000Z",
"lastResponseTime": 245,
"lastStatusCode": 200,
"uptimePercent": 99.98,
"createdAt": "2025-12-01T08:00:00.000Z"
}
],
"total": 2,
"page": 1,
"limit": 50,
"totalPages": 1
}/api/v1/monitors/:idמחזיר מידע מפורט על מוניטור, כולל תוצאות בדיקות אחרונות.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של המוניטור. |
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
status | string | UP, DOWN, DEGRADED, PAUSED או PENDING. |
recentChecks | array | 50 הבדיקות האחרונות, מהחדשה לישנה. הסטטוס של כל בדיקה באותיות קטנות: up, down או degraded. |
recentIncidents | array | 10 התקלות האחרונות: { id, startedAt, resolvedAt, duration, cause }. |
curl https://hostey.co.il/api/v1/monitors/c7d2e9f4-0a1b-4c3d-8e5f-6a7b8c9d0e1f \ -H "Authorization: Bearer hst_your_api_key"
{
"id": "c7d2e9f4-0a1b-4c3d-8e5f-6a7b8c9d0e1f",
"name": "Production Website",
"type": "HTTPS",
"target": "https://example.co.il",
"port": null,
"interval": 60,
"timeout": 30,
"expectedStatus": 200,
"status": "UP",
"isActive": true,
"lastCheckAt": "2026-03-21T12:00:00.000Z",
"lastResponseTime": 245,
"lastStatusCode": 200,
"lastError": null,
"uptimePercent": 99.98,
"currentStreak": 1440,
"createdAt": "2025-12-01T08:00:00.000Z",
"recentChecks": [
{
"id": "d8e3f0a5-1b2c-4d4e-9f6a-7b8c9d0e1f2a",
"status": "up",
"responseTime": 230,
"statusCode": 200,
"error": null,
"checkedAt": "2026-03-21T12:00:00.000Z"
}
],
"recentIncidents": []
}DNS
נקודת קצה אחתשליפת תצורת אזור ה-DNS עבור דומיינים המשויכים לחשבונות האירוח.
/api/v1/dns/:domainמחזיר את תצורת אזור ה-DNS ב-Cloudflare המקושרת לדומיין המבוקש.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
domainחובה | string | שם הדומיין. |
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
domain | string | הדומיין המבוקש. |
hostingAccountId | string | מזהה חשבון האחסון שהדומיין שייך לו. |
primaryDomain | string | הדומיין הראשי של חשבון האחסון. |
dnsConfigs | array | הגדרות אזור ה-DNS ב-Cloudflare: { id, domain, zoneId }. |
curl https://hostey.co.il/api/v1/dns/example.co.il \ -H "Authorization: Bearer hst_your_api_key"
{
"domain": "example.co.il",
"hostingAccountId": "f1e2d3c4-b5a6-4978-8a9b-0c1d2e3f4a5b",
"primaryDomain": "example.co.il",
"dnsConfigs": [
{
"id": "a2b3c4d5-e6f7-4819-9a0b-1c2d3e4f5a6b",
"domain": "example.co.il",
"zoneId": "0123456789abcdef0123456789abcdef"
}
]
}פעולות שירות
2 נקודות קצה/api/v1/services/:id/cancelבקשת ביטול שירות. השירות יסומן לביטול בסוף תקופת החיוב הנוכחית.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של השירות. |
גוף הבקשה
| פרמטר | סוג | תיאור |
|---|---|---|
reason | string | סיבת הביטול (אופציונלי). |
curl -X POST https://hostey.co.il/api/v1/services/3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91/cancel \ -H "Authorization: Bearer hst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "reason": "Migrating to a different plan" }'
{
"success": true,
"serviceId": "3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91",
"orderId": "b3c4d5e6-f7a8-4b9c-8d0e-2f3a4b5c6d7e",
"status": "ACTIVE",
"terminatedAt": "2026-04-15T00:00:00.000Z",
"message": "Service scheduled for cancellation at end of billing period."
}/api/v1/services/:id/renewחידוש ידני דרך ה-API עדיין אינו זמין: נקודת הקצה מחזירה כרגע 501. החידוש מתבצע אוטומטית בתאריך החיוב, או ידנית דרך אזור הלקוח.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של השירות. |
curl -X POST https://hostey.co.il/api/v1/services/3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91/renew \ -H "Authorization: Bearer hst_your_api_key"
{
"error": "Manual renewal via API is not yet available...",
"code": "NOT_IMPLEMENTED"
}הודעות בפנייה
2 נקודות קצה/api/v1/tickets/:id/messagesמחזיר את כל ההודעות הציבוריות בפנייה, ממוינות לפי תאריך יצירה.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של הפנייה. |
שדות תגובה
| פרמטר | סוג | תיאור |
|---|---|---|
id | string | מזהה ייחודי של ההודעה. |
message | string | תוכן ההודעה. |
author | string | שם כותב ההודעה ("System" בהודעה שהמערכת יצרה). |
authorRole | string | CLIENT, PARTNER, ADMIN או SYSTEM. |
createdAt | string | חותמת זמן בפורמט ISO 8601. |
curl https://hostey.co.il/api/v1/tickets/5d8e2f1a-6b3c-4e7d-9a1f-2c4b6e8d0f13/messages \ -H "Authorization: Bearer hst_your_api_key"
{
"data": [
{
"id": "0f6b3d9e-2a4c-4b8e-9d1f-3e5a7c9b1d24",
"message": "I am unable to connect to my VPS via SSH.",
"author": "Yossi Cohen",
"authorRole": "CLIENT",
"createdAt": "2026-03-18T08:30:00.000Z"
},
{
"id": "1a7c4e0f-3b5d-4c9f-8e2a-4f6b8d0c2e35",
"message": "We identified a firewall rule blocking port 22.",
"author": "Support Team",
"authorRole": "ADMIN",
"createdAt": "2026-03-19T16:00:00.000Z"
}
]
}/api/v1/tickets/:id/messagesהוספת הודעה חדשה לפנייה קיימת. פנייה בסטטוס RESOLVED או WAITING תיפתח מחדש ל-OPEN. לא ניתן להוסיף הודעה לפנייה סגורה (CLOSED), והתשובה היא 400.
פרמטרים בנתיב
| פרמטר | סוג | תיאור |
|---|---|---|
idחובה | string | המזהה הייחודי של הפנייה. |
גוף הבקשה
| פרמטר | סוג | תיאור |
|---|---|---|
messageחובה | string | תוכן ההודעה, 1 עד 10,000 תווים. |
curl -X POST https://hostey.co.il/api/v1/tickets/5d8e2f1a-6b3c-4e7d-9a1f-2c4b6e8d0f13/messages \ -H "Authorization: Bearer hst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "message": "Thank you, the issue is resolved now." }'
{
"id": "2b8d5f1a-4c6e-4dab-9f3b-5a7c9e1d3f46",
"message": "Thank you, the issue is resolved now.",
"createdAt": "2026-03-21T10:30:00.000Z"
}API ציבורי (Public API v1)
29 נקודות קצהממשק API חיצוני ללקוחות עם אימות באמצעות מפתח API. מאפשר גישה לשירותים, פניות וחשבון.
דוגמאות קוד
דוגמאות מוכנות להעתקה בשפות פופולריות. יש להחליף את hst_your_api_key במפתח האמיתי.
cURL
curl -s \ -H "Authorization: Bearer hst_your_api_key" \ https://hostey.co.il/api/v1/services
curl -s \ -H "Authorization: Bearer hst_your_api_key" \ https://hostey.co.il/api/v1/account
curl -s -X POST \ -H "Authorization: Bearer hst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "subject": "Disk space alert on VPS", "message": "My VPS is showing 95% disk usage.", "priority": "HIGH" }' \ https://hostey.co.il/api/v1/tickets
curl -s \ -H "Authorization: Bearer hst_your_api_key" \ https://hostey.co.il/api/v1/services/3f2c9a4e-8b1d-4c6f-9e2a-7d5b1c0e4a91
JavaScript / Node.js
const API_KEY = process.env.HOSTEY_API_KEY; const BASE = "https://hostey.co.il/api/v1"; async function hostey(path, options = {}) { const res = await fetch(`${BASE}${path}`, { ...options, headers: { "Authorization": `Bearer ${API_KEY}`, "Content-Type": "application/json", ...options.headers, }, }); if (!res.ok) { const body = await res.json().catch(() => ({})); throw new Error(body.error || `HTTP ${res.status}`); } return res.json(); } // List all services const services = await hostey("/services"); console.log(`You have ${services.data.length} services`); // Get account info const account = await hostey("/account"); console.log(`Account: ${account.name}`); // Create a ticket const ticket = await hostey("/tickets", { method: "POST", body: JSON.stringify({ subject: "API integration test", message: "This ticket was created via the Hostey API.", priority: "LOW", }), }); console.log(`Ticket #${ticket.number} created`);
Python
import os import requests API_KEY = os.environ["HOSTEY_API_KEY"] BASE = "https://hostey.co.il/api/v1" session = requests.Session() session.headers.update({ "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", }) def hostey_get(path): r = session.get(f"{BASE}{path}") r.raise_for_status() return r.json() def hostey_post(path, data): r = session.post(f"{BASE}{path}", json=data) r.raise_for_status() return r.json() # List all services services = hostey_get("/services") for svc in services["data"]: print(f"{svc['productName']} - {svc['status']}") # Get account info account = hostey_get("/account") print(f"Account: {account['name']}") # Create a ticket ticket = hostey_post("/tickets", { "subject": "Disk space alert", "message": "My VPS is showing 95% disk usage.", "priority": "HIGH", }) print(f"Created ticket #{ticket['number']}")
ספריות ו-SDK
עדיין אין SDK רשמי.