Tweede transitprovider live in Chișinău — 20 Gbps aan gemengde capaciteit. 20 Gbps gemengde uplink nu live Waarom Moldavië

Eén token, en alles wat het klantenpaneel kan

JSON over HTTPS. Geen SDK vereist, geen apart ontwikkelaarsaccount, en geen endpoint dat wel in het klantenpaneel bestaat maar hier niet.

Server aanmaken

curl -X POST https://api.vpsoffshore.com/v1/servers \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"plan":"reef","image":"debian-13"}'

Geeft direct een configuratie-id terug. De machine reageert ongeveer zestig seconden later op SSH, en het adres is gerouteerd voordat de inloggegevens worden verzonden.

20 endpoints

Alles, in vijf groepen

Basis-URL https://api.vpsoffshore.com/v1. Geversioneerd in het pad; v1 blijft werken zodra v2 bestaat, en de datum waarop dat stopt wordt een jaar van tevoren aangekondigd.

Servers

GET /servers Elke dienst op het account, met status, pakket en adressen.
POST /servers Maak er een aan. Geeft direct een build-id terug; de server is ongeveer een minuut later bereikbaar.
GET /servers/{id} Eén dienst, inclusief live resourcegebruik over het afgelopen uur.
PATCH /servers/{id} Wijzig het pakket. Past de omvang aan zonder herinstallatie, waar de schijf dat toelaat.
DELETE /servers/{id} Vernietig het. Schijven worden 14 dagen bewaard, en daarna gewist voor heruitgifte.
POST /servers/{id}/actions reboot · shutdown · start · rebuild · rescue · reset-password.

Opslag

GET /servers/{id}/snapshots Snapshots voor één dienst, nieuwste eerst.
POST /servers/{id}/snapshots Neem er een. Thin, dus snel, en verdubbelt uw schijfgebruik niet.
POST /snapshots/{id}/restore Herstellen op dezelfde plek, of naar een andere dienst van hetzelfde pakket of groter.
DELETE /snapshots/{id} Verwijder een snapshot.

Netwerk

GET /servers/{id}/addresses Adressen die naar een dienst worden gerouteerd, v4 en v6.
POST /servers/{id}/addresses Vraag een extra adres aan, of een /29.
PUT /addresses/{ip}/rdns Stel reverse DNS in. Wordt binnen een minuut van kracht, niet pas bij de volgende zone-refresh.
GET /servers/{id}/bandwidth Transfertellers. Informatief — er is geen limiet om te overschrijden.

Catalogus

GET /plans Elk pakket met zijn specificatie en prijs. Dezelfde bron waaruit deze site wordt gegenereerd.
GET /images Beschikbare images en ISO-bestanden, inclusief de bestanden die u hebt geüpload.
POST /images Upload een ISO via URL. Start op met een console gekoppeld.

Facturatie

GET /invoices Facturen, betaald en openstaand, met de coin en de chain-transactie.
POST /invoices/{id}/pay Genereer een betalingsadres voor een van de 8 geaccepteerde coins.
GET /credits Toegepaste SLA-crediteringen, met het incident dat elk ervan heeft veroorzaakt.

Alles wat het klantenpaneel kan, staat hier, en niets hier ontbreekt in het klantenpaneel. Wanneer de twee van elkaar verschillen, is dat een bug — meld het ons vanuit het klantenpaneel en het wordt opgelost in plaats van gedocumenteerd als bedoeld gedrag.

Hoe het zich gedraagt

Vier beslissingen die u binnen een uur merkt

Een API wordt beoordeeld op haar slechte paden, niet op haar goede. Drie van de vier hieronder gaan over wat er gebeurt als iets misgaat.

Eén token, aangemaakt in het klantenpaneel

Verstuurd als bearer-token. Beperk de scope tot alleen-lezen of tot één dienst als u dat wilt; tokens staan los van uw wachtwoord, en het intrekken van een token logt u nooit uit.

JSON in, JSON uit, geen SDK nodig

Gewone HTTPS zonder eigen envelope, zonder XML-terugval en zonder ondertekeningsritueel. Als curl het kan, hebt u een client. Er bestaan officiële libraries voor Go, Python en TypeScript, en geen ervan is verplicht.

Rate limits die u niet per ongeluk overschrijdt

600 verzoeken per minuut per token, 60 voor aanmaakoproepen. Elke respons bevat het resterende budget in een header, en bij overschrijding volgt een 429 met het aantal seconden wachttijd — nooit een stille weigering.

Foutmeldingen die zeggen wat u moet doen

Een 4xx bevat een machineleesbare code, een leesbare zin voor mensen, en het veld dat de fout veroorzaakt. Wij geven liever een lange foutmelding dan een korte waarbij u moet gokken.

De twee dingen die u één keer invoert

Authenticatie, en hoe een foutmelding eruitziet

Beide zijn de moeite waard om te lezen vóór u de eerste aanroep schrijft, niet pas na de eerste storing.

Verifiëren

curl https://api.vpsoffshore.com/v1/servers \
  -H "Authorization: Bearer $TOKEN"

Tokens worden aangemaakt in het klantenpaneel en kunnen worden beperkt tot alleen-lezen of tot één dienst. Ze staan los van uw wachtwoord, en het intrekken van een token logt u nergens uit.

Lees de rate limit

X-RateLimit-Remaining: 574
X-RateLimit-Reset: 41

Bij elk antwoord, niet alleen bij het antwoord dat mislukt. Overschrijding van de limiet geeft 429 terug met het aantal te wachten seconden, nooit een stille drop en nooit een ingekort antwoord.

Een foutmelding vertelt u het veld

{"error":"plan_unknown",
 "message":"No plan named 'reff'. Did you mean 'reef'?",
 "field":"plan"}

Een machineleesbare code, een zin in mensentaal en het veld dat de fout veroorzaakt. Lange foutmeldingen zijn goedkoper dan korte waar u naar moet raden.

Een configuratie pollen

curl https://api.vpsoffshore.com/v1/servers/$ID \
  -H "Authorization: Bearer $TOKEN" | jq .state

Gaat van building naar running. Er is geen webhook die u vooraf moet registreren voordat u iets kunt aanmaken, en pollen met één keer per seconde valt binnen de limiet.

Niets om aan te vragen

De token staat in het klantenpaneel, en het klantenpaneel wordt geleverd bij de eerste server

Geen ontwikkelaarsaccount, geen goedkeuring, geen sandbox die zich anders gedraagt dan productie.

Taal

Lees deze site in uw taal

Vandaag beschikbaar in 28 talen. De rest wordt vertaald.