חיבור החשבון
כבר יש לכם חשבון EQVPS ואתם רוצים שסקריפט או סוכן ישתמש בו: השיגו טוקן, הכניסו אותו להגדרות, הפעילו את ארגז החול הראשון ושמרו על היתרה טעונה.
איך הכול מתחבר
1. השיגו טוקן
הכי פשוט: בלוח הבקרה פתחו הגדרות ← טוקני API, צרו טוקן (קראו לו בשם הסוכן, בחרו תוקף) והעתיקו אותו. הוא מוצג רק פעם אחת.
משורת הפקודה: התחברו עם אימייל וסיסמה כדי לקבל טוקן חדש. אם נרשמתם עם קוד במייל ומעולם לא הגדרתם סיסמה, הגדירו אחת פעם אחת בעזרת טוקן מלוח הבקרה. אפשר גם ליצור חשבון חדש עם POST /auth/register, שמחזיר טוקן מיד.
# log in with email + password → token
curl -s https://api.eqvps.com/api/v1/eqvps/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"your-password"}'
# → {"token":"eyJ0…","token_type":"Bearer","token_expires_at":"2027-10-03T…","user":{…}}
# signed up with an email code and have no password? set one once
# (authorise with a token from Settings → API tokens)
curl -s https://api.eqvps.com/api/v1/eqvps/auth/set-password \
-H "Authorization: Bearer $EQVPS_API_KEY" -H "Content-Type: application/json" \
-d '{"password":"new-pass-123","password_confirmation":"new-pass-123"}'
# no account yet: register straight from the API (password is optional)
curl -s https://api.eqvps.com/api/v1/eqvps/auth/register \
-H "Content-Type: application/json" -d '{"email":"you@example.com"}'
# extend a token before it expires
curl -s -X POST https://api.eqvps.com/api/v1/eqvps/auth/token/refresh \
-H "Authorization: Bearer $EQVPS_API_KEY"טוקן תקף לשנה (ראו token_expires_at בתשובה). הארכה: POST /auth/token/refresh; בטלו בהגדרות טוקנים שאינכם משתמשים בהם.
2. הכניסו אותו להגדרות
השאירו את הטוקן מחוץ לקוד: ייצאו אותו כ-EQVPS_API_KEY. לקוחות MCP מקבלים אותו בכותרת Authorization.
# shell / CI secret — keep it out of the code
export EQVPS_API_KEY="eyJ0…"
# SDKs read the same variable (0.2.0+: give your code its secrets as env, not in the source)
pip install -U eqvps # Python
npm i @eqvps/sdk@latest # TypeScript / JavaScript
# Claude Code
claude mcp add --transport http eqvps https://mcp.eqvps.com/mcp \
--header "Authorization: Bearer $EQVPS_API_KEY"
# Cursor, Claude Desktop, other MCP clients (mcp.json)
{
"mcpServers": {
"eqvps": {
"type": "streamable-http",
"url": "https://mcp.eqvps.com/mcp",
"headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
}
}
}3. הפעילו את ארגז החול הראשון
צרו, הריצו קוד, מחקו. exit_code שאינו אפס הוא תוצאה רגילה של הפקודה שלכם, לא שגיאת HTTP.
API=https://api.eqvps.com/api/v1/eqvps
H="Authorization: Bearer $EQVPS_API_KEY"
SB=$(curl -s -X POST $API/sandboxes -H "$H" -H "Content-Type: application/json" \
-d '{"tariff":"micro"}' | python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])')
curl -s -X POST $API/sandboxes/$SB/run -H "$H" -H "Content-Type: application/json" \
-d '{"language":"bash","code":"uname -sr && python3 --version && node --version"}'
# → {"exit_code":0,"stdout":"Linux 6.1…\nPython 3.12…\nv22…\n","stderr":"",…}
curl -s -X DELETE $API/sandboxes/$SB -H "$H"מצבים, תעריפים ודוגמאות ב-Python / Node.js: ארגזי חול ←
4. טענו את היתרה
ארגזי חול ושרתים משולמים מיתרה משולמת מראש אחת. טענו אותה בלוח הבקרה (יתרה: קריפטו, Monero או קוד הטבה) או עם POST /balance/topup, שמחזיר קישור לתשלום. GET /balance מראה כמה נשאר.
curl -s $API/balance -H "$H"
# → {"balance":12.4,"currency":"USD","promo_balance":0,"real_balance":12.4,"promo_scope":"sandboxes"}
curl -s -X POST $API/balance/topup -H "$H" -H "Content-Type: application/json" -d '{"amount":10}'
# → {"invoice_id":…,"checkout_url":"https://…"} open the link and pay with cryptoשגיאות שסביר שתראו
- 401 Unauthenticated — הטוקן חסר, מכיל שגיאת הקלדה, פג תוקפו או בוטל. בדקו את הכותרת Authorization: Bearer, צרו טוקן חדש בהגדרות או התחברו מחדש.
- 402 insufficient_balance — היתרה ריקה, ולכן ארגז חול חדש לא עולה. טענו וחזרו על הבקשה. ארגזי חול קבועים שרצים מושהים במקום להימחק.
- 429 ו-503 פירושם שהבקשה נדחתה לפני שמשהו רץ: חכו Retry-After ושלחו שוב. 409 sandbox_paused: טענו את היתרה וארגז החול ימשיך.
HTTP 401 {"message":"Unauthenticated."}
HTTP 402 {"error":"insufficient_balance","message":"Your balance cannot cover this sandbox. Top up (topup_balance / POST /balance/topup) and retry."}
HTTP 429 {"error":"too_many_concurrent", …} → wait Retry-After, then retry
HTTP 503 {"error":"capacity","retry_after":30, …} → wait Retry-After, then retry
תגובות
אין עדיין תגובות. היו הראשונים.