Un singur token, generat în panoul de client
Trimis ca token de tip bearer. Îl puteți limita la citire sau la un singur serviciu, dacă doriți; token-urile sunt independente de parola dumneavoastră, iar revocarea unuia nu vă deloghează niciodată.
JSON prin HTTPS. Nu este necesar niciun SDK, niciun cont de dezvoltator separat și niciun endpoint care există în panou, dar nu și aici.
Creați un server
curl -X POST https://api.vpsoffshore.com/v1/servers \
-H "Authorization: Bearer $TOKEN" \
-d '{"plan":"reef","image":"debian-13"}'Returnează imediat un ID de build. Mașina răspunde pe SSH aproximativ șaizeci de secunde mai târziu, iar adresa este rutată înainte ca credențialele să fie trimise.
20 de endpointuri
URL de bază https://api.vpsoffshore.com/v1. Versionată în cale; v1 va continua să funcționeze atât timp cât există v2, iar data la care se oprește va fi anunțată cu un an înainte.
Servere
Stocare
Rețea
Catalog
Facturare
Tot ce poate face panoul se regăsește aici, iar nimic de aici nu lipsește din panou. Când cele două nu coincid, este o eroare — spuneți-ne din panou și este reparată, nu documentată drept comportament intenționat.
Cum se comportă
Un API se judecă după căile sale proaste, nu după cele bune. Trei dintre cele patru de mai jos privesc ceea ce se întâmplă atunci când ceva nu merge bine.
Un singur token, generat în panoul de client
Trimis ca token de tip bearer. Îl puteți limita la citire sau la un singur serviciu, dacă doriți; token-urile sunt independente de parola dumneavoastră, iar revocarea unuia nu vă deloghează niciodată.
JSON la intrare, JSON la ieșire, fără SDK necesar
HTTPS simplu, fără plic personalizat, fără fallback XML și fără ritual de semnare. Dacă poate face curl, aveți un client. Există biblioteci oficiale pentru Go, Python și TypeScript, și niciuna dintre ele nu este obligatorie.
Limite de rată pe care nu le veți atinge din greșeală
600 de cereri pe minut per token, 60 pentru apelurile de creare. Fiecare răspuns transportă bugetul rămas într-un header, iar depășirea lui returnează 429 cu numărul de secunde de așteptare — niciodată o eliminare silențioasă.
Erori care spun ce trebuie făcut
Un 4xx conține un cod care poate fi citit automat, o propoziție inteligibilă pentru om și câmpul vinovat. Preferăm să returnăm o eroare lungă decât una scurtă pe care trebuie să o ghiciți.
Cele două lucruri pe care le scrieți o singură dată
Ambele merită citite înainte să scrieți primul apel, nu după primul eșec.
Autentificare
curl https://api.vpsoffshore.com/v1/servers \
-H "Authorization: Bearer $TOKEN"
Token-urile se creează în panou și pot fi limitate la doar citire sau la un singur serviciu. Sunt independente de parola dumneavoastră, iar revocarea unuia nu vă deconectează de nicăieri.
Citiți despre limita de rată
X-RateLimit-Remaining: 574
X-RateLimit-Reset: 41
La fiecare răspuns, nu doar la cel care eșuează. Depășirea limitei returnează 429 cu numărul de secunde de așteptat, niciodată o pierdere silențioasă și niciodată un răspuns scurtat.
O eroare vă indică exact câmpul
{"error":"plan_unknown",
"message":"No plan named 'reff'. Did you mean 'reef'?",
"field":"plan"}
Un cod interpretabil automat, o propoziție pe înțelesul oamenilor și câmpul vinovat. Erorile lungi costă mai puțin decât cele scurte pe care trebuie să le ghiciți.
Interogați starea unei configurații
curl https://api.vpsoffshore.com/v1/servers/$ID \
-H "Authorization: Bearer $TOKEN" | jq .state
Trece de la building → running. Nu trebuie să înregistrați niciun webhook înainte de a putea crea ceva, iar interogarea (polling) o dată pe secundă se încadrează în limită.
Nimic de solicitat
Fără cont de dezvoltator, fără aprobare, fără sandbox care se comportă diferit de producție.