−25%

la planurile Windows anuale, până pe 31 oct. Vezi planurile

EQVPS
Începe

Conectarea contului

Ai deja un cont EQVPS și vrei ca un script sau un agent să-l folosească: obții un token, îl pui în configurație, pornești primul sandbox și ții soldul alimentat.

Cum se leagă totul

Contul tăueqvps.comToken APIBearer …Agent sau scriptMCP · REST · SDKEQVPS APIapi.eqvps.comSandboxPython · Node · bashSoldUSD$ / s
Tokenul spune cine ești. Fiecare cerere rulează pe contul tău, iar timpul de sandbox se debitează din soldul tău.

1. Obții un token

Cea mai simplă cale: în panou deschizi Setări → Tokenuri API, creezi un token (îi dai numele agentului, alegi valabilitatea) și îl copiezi. Se afișează o singură dată.

Din linia de comandă: te autentifici cu e-mail și parolă ca să primești un token nou. Dacă te-ai înregistrat cu un cod pe e-mail și nu ți-ai setat niciodată o parolă, setează una o dată, folosind un token din panou. Poți crea și un cont nou cu POST /auth/register, care returnează imediat un token.

# 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"

Un token este valabil 1 an (vezi token_expires_at în răspuns). Îl prelungești cu POST /auth/token/refresh; le revoci în Setări pe cele pe care nu le mai folosești.

2. Îl pui în configurație

Ține tokenul în afara codului: exportă-l ca EQVPS_API_KEY. Clienții MCP îl primesc în antetul 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. Pornești primul sandbox

Creezi, rulezi cod, ștergi. Un exit_code diferit de zero este un rezultat normal al comenzii tale, nu o eroare 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"

Moduri, planuri și exemple Python / Node.js: Sandbox-uri →

4. Alimentezi soldul

Sandbox-urile și serverele se plătesc dintr-un singur sold preplătit. Îl alimentezi din panou (Sold: cripto, Monero sau un cod promoțional) sau cu POST /balance/topup, care returnează un link de plată. GET /balance arată cât a mai rămas.

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

Erori pe care e probabil să le vezi

  • 401 Unauthenticated — tokenul lipsește, e scris greșit, a expirat sau a fost revocat. Verifică antetul Authorization: Bearer, creează un token nou în Setări sau autentifică-te din nou.
  • 402 insufficient_balance — soldul este gol, așa că un sandbox nou nu poate porni. Alimentează și repetă cererea. Sandbox-urile persistente care rulează se pun pe pauză, nu se șterg.
  • 429 și 503 înseamnă că cererea a fost refuzată înainte să ruleze ceva: așteaptă Retry-After și trimite-o din nou. 409 sandbox_paused: alimentează și sandbox-ul își reia activitatea.
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

Comentarii

Încă nu există comentarii. Fii primul.

Lasă un comentariu

Comentariile sunt moderate înainte să apară.