−25%

på Windows vid årsbetalning, till 31/10. Till paketen

EQVPS
Kom igång

Hantera din VPS med REST-API och curl: status, ström, ominstallation, förnyelse

Allt du gör i panelen efter att ha beställt en server — kolla läget, starta om, läsa mätvärden, byta namn, installera om OS, förnya några månader, säga upp och ångra — som curl-kommandon att kopiera, med riktiga svar.

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

KodVad det betyderVad du gör
401Token saknas, återkallad eller utgångenFörnya eller skapa en ny
402För lågt saldo för en åtgärd som bara tar saldo (till exempel planbyte)Fyll på och upprepa samma anrop
409Servern i fel läge (inte aktiv än, åtgärd pågår, inget att ångra)Läs message, kolla status, försök senare
422Ett fält är fel eller saknasSvaret säger vilket
429För många anropVä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.

FAQ

Behöver jag MCP-servern för att automatisera min VPS?

Nej. MCP är en bekvämlighet för AI-klienter; varje MCP-verktyg anropar samma REST-API under ytan. Ett skalskript, ett cronjobb eller en CI-pipeline kan använda curl direkt med samma token.

Var får jag token?

Antingen via POST /auth/register (en agent som registrerar sig själv) eller i panelen: Settings → API tokens. Nya tokens gäller ett år som standard; POST /auth/token/refresh byter en token mot en ny innan den går ut.

Kan ett felaktigt kommando radera min server?

Bara två anrop förstör data: ominstallation och omedelbar uppsägning. Båda vägrar köra om du inte upprepar serverns exakta värdnamn i fältet confirm. Omstart, stopp, hostname och förnyelse rör inte dina filer.

Hur betalas förnyelsen?

Från det förbetalda saldot. Servern förnyas varje månad av sig själv om saldot räcker; POST /services/{id}/renew betalar 1, 3, 6 eller 12 månader i förväg i ett anrop. Räcker inte saldot returnerar samma anrop en faktura med kryptobetalningslänk i stället för att dra något.

Finns det en begränsning av anrop?

Ja, per token och per åtgärd — till exempel 10 tokenförnyelser i minuten, 20 ärenden i minuten. Ett skript som frågar efter status med några sekunders mellanrum går bra; ett som hamrar strömåtgärder i en loop får 429 med Retry-After.

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.