Att beställa en server via API:t tar ett anrop. Det står i Beställ en VPS i 4 API-anrop. Den här sidan handlar om allt efteråt: rutinåtgärderna du annars skulle klicka dig igenom i panelen, skrivna som curl-kommandon att klistra in i ett skript.
Varje kommando nedan kördes mot vårt API före publicering, och svaren är förkortade kopior av det som kom tillbaka.
Förberedelser
Två variabler håller kommandona korta:
export API=https://api.eqvps.com/api/v1/eqvps
export EQVPS_TOKEN='paste-your-token-here'
Token kommer från POST /auth/register eller från Settings → API tokens i panelen. Håll den utanför skalhistoriken om andra använder maskinen; att läsa den från en fil med export EQVPS_TOKEN=$(cat ~/.eqvps_token) räcker.
Hitta dina servrar
curl -s $API/services -H "Authorization: Bearer $EQVPS_TOKEN"
Varje post har ett id som 47HZ7YF. Det är tjänstekoden som alla andra anrop tar. Sedan hela bilden av en server:
curl -s $API/services/47HZ7YF -H "Authorization: Bearer $EQVPS_TOKEN"
{ "data": {
"id": "47HZ7YF", "status": "active", "queued": false,
"product": { "slug": "nano", "name": "Nano" },
"specs": { "vcpu": 2, "memory_mb": 1024, "disk_gb": 15 },
"hostname": "agent-box",
"vm": { "state": "running", "uptime": 5340 },
"access": { "method": "ssh", "host": "203.0.113.10", "port": 21521, "user": "root", "nat": true, ... } } }
access talar om hur du loggar in. På en plan med egen IPv4 är porten 22; på en NAT-plan är det din personliga vidarebefordrade port. Anropet läser bara, så att fråga det i en loop är säkert.
Beställde du utan SSH-nyckel visas root-lösenordet en gång:
curl -s "$API/services/47HZ7YF?reveal=1" -H "Authorization: Bearer $EQVPS_TOKEN"
Medan servern fortfarande startar säger svaret password_pending, och den engångsvisningen förbrukas inte. Vänta en halv minut och fråga igen.
Ström: start, stop, reboot
curl -s -X POST $API/services/47HZ7YF/power \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"action": "reboot"}'
action är start, stop eller reboot. En server som inte är aktiv än (skapas fortfarande eller är avstängd för utebliven betalning) svarar 409 Service is not active. Det är inget fel i ditt skript. Kolla status först.
Mätvärden
curl -s "$API/services/47HZ7YF/metrics?timeframe=day" -H "Authorization: Bearer $EQVPS_TOKEN"
CPU, minne, nätverk och disk som tidsserie. timeframe är hour (standard), day, week eller month. Bra för ett cronjobb som säger till när disken bara växer. Trafikräknarna för den aktuella faktureringsperioden finns i Kontrollera hastighet och trafik.
Byt namn på servern
curl -s -X POST $API/services/47HZ7YF/hostname \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"hostname": "web-01"}'
Det nya namnet sätts i det körande systemet av gästagenten, utan omstart på Linux. Är servern stoppad, eller har du tagit bort qemu-guest-agent, returnerar anropet 409 agent_unavailable och inget ändras.
Installera om OS
Den här raderar disken. API:t kräver att du skriver serverns nuvarande värdnamn i confirm, så att ett skript med fel tjänste-id inte kan radera fel maskin:
curl -s -X POST $API/services/47HZ7YF/reinstall \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"os_id": 4, "confirm": "web-01"}'
os_id kommer från listan available_os för din plan i GET /products eller från serverns egna detaljer. Ominstallationen körs i bakgrunden; fråga GET /services/{id} tills status är active igen.
Förnyelse och saldo
Servrar förnyas varje månad från ditt förbetalda saldo. För att se vad längre perioder kostar för den här servern:
curl -s $API/services/47HZ7YF/renew-options -H "Authorization: Bearer $EQVPS_TOKEN"
För att betala i förväg, säg tre månader, i ett anrop:
curl -s -X POST $API/services/47HZ7YF/renew \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"months": 3}'
months är 1, 3, 6 eller 12, och 12 faktureras till årspriset med dess rabatt. Svaret säger paid_from_balance: true och ger det nya slutdatumet. Täcker saldot inte beloppet dras ingenting: du får paid_from_balance: false och i stället en checkout_url för den fakturan. När saldot har fyllts på betalar POST $API/invoices/{invoice_id}/pay fakturan från saldot; räcker det fortfarande inte returneras samma slags checkout_url och ingenting dras. Kolla och fylla på saldot:
curl -s $API/balance -H "Authorization: Bearer $EQVPS_TOKEN"
curl -s -X POST $API/balance/topup \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"amount": 25}'
Påfyllningssvaret innehåller en checkout_url. Det är en kryptobetalning: USDT, USDC eller ETH på Base, Ethereum eller Polygon. Saldot krediteras när betalningen bekräftats on-chain. Att betala är det enda steget ett skript inte kan göra åt dig, om det inte har en plånbok.
Monero fungerar också, men bara som saldopåfyllning med manuell kontroll: du skickar XMR, lämnar transaktions-id:t och vi krediterar efter kontroll. Se Betala med Monero.
Säg upp, och ändra dig
Den säkra uppsägningen låter servern köra tills den betalda perioden tar slut och förnyar den helt enkelt inte:
curl -s -X POST $API/services/47HZ7YF/cancel \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"type": "end_of_period", "reason": "moving the project elsewhere"}'
reason krävs. Några ord räcker. Ändrat dig före datumet?
curl -s -X POST $API/services/47HZ7YF/cancel/undo -H "Authorization: Bearer $EQVPS_TOKEN"
"type": "immediate" finns också. Den raderar servern och dess data direkt, kräver "confirm": "<hostname>" och går inte att ångra. Om du inte verkligen menar det, använd end_of_period.
Håll token vid liv
Nya tokens lever ett år som standard. Varje autentiserat svar har en header X-Token-Expires-At, så ett skript kan märka det i tid. Byt token mot en ny:
curl -s -X POST $API/auth/token/refresh -H "Authorization: Bearer $EQVPS_TOKEN"
Den gamla token slutar fungera direkt, så spara den nya innan du gör något annat.
Fel som är värda att hantera
| Kod | Vad det betyder | Vad du gör |
|---|---|---|
| 401 | Token saknas, återkallad eller utgången | Förnya eller skapa en ny |
| 402 | För lågt saldo för en åtgärd som bara tar saldo (till exempel planbyte) | Fyll på och upprepa samma anrop |
| 409 | Servern i fel läge (inte aktiv än, åtgärd pågår, inget att ångra) | Läs message, kolla status, försök senare |
| 422 | Ett fält är fel eller saknas | Svaret säger vilket |
| 429 | För många anrop | Vänta Retry-After |
Gör du detta från en AI-klient i stället för ett skript? Samma åtgärder finns som MCP-verktyg — se Så sköter en AI-agent sin egen VPS via MCP och API-referensen. Har du ingen server än? Välj en plan.
Kommentarer
Inga kommentarer än. Bli först.