AVVGO API Dokumentation

RESTful API für deine Server & Services

Authentifizierung

Bearer Token Authentifizierung. API-Key im Dashboard erstellen.

Header
Authorization: Bearer YOUR_API_KEY
Basis-URL: https://avvgo.com/api/v1
GET /health (ohne Auth)

API Status prüfen

Server Management

GET /servers

Liste aller Server

Response
{
  "success": true,
  "data": [{
    "id": 1,
    "name": "KVM Xeon-01",
    "status": "running",
    "cpu": 4,
    "ram": 8,
    "ipv4": "203.0.113.42"
  }]
}
GET /servers/{id}

Server Details

POST /servers/{id}/reboot

Server neu starten

POST /servers/{id}/start

Server starten

POST /servers/{id}/stop

Server stoppen

GET /servers/{id}/stats

Live Server-Statistiken (CPU, RAM, Disk, Network)

Abrechnung & Account

GET /credit

Aktuelles Guthaben abrufen

POST /credit/topup

Guthaben aufladen (5-10000 EUR)

Request
{"amount": 50.00}
GET /invoices

Liste aller Rechnungen

GET /tickets

Liste aller Support Tickets

POST /tickets

Support Ticket erstellen

Request
{
  "subject": "Server Problem",
  "message": "Mein Server startet nicht...",
  "priority": "high"
}

Domain Management

GET /domains

Liste aller Domains

GET /domains/prices

Preisliste aller TLDs (Verkaufspreise inkl. Rabatt)

Response
{
  "success": true,
  "data": {
    "prices": [
      {"tld": ".com", "register": {"price": 12.99}, "renew": {"price": 12.99}, "transfer": {"price": 12.99}},
      {"tld": ".de", "register": {"price": 9.99}, "renew": {"price": 9.99}, "transfer": {"price": 9.99}}
    ]
  }
}
GET /domains/check?domain=example.com

Verfügbarkeit prüfen (gibt Verkaufspreis zurück)

Response
{
  "success": true,
  "data": {
    "domain": "example.com",
    "available": true,
    "price": 12.99,
    "currency": "EUR"
  }
}
GET /domains/{name}

Domain Details (Status, Ablaufdatum, Nameserver)

POST /orders/domains

Domain bestellen/transferieren

Request
{
  "domain": "example.com",
  "duration": 1,
  "auto_renew": true,
  "auth_code": "AUTHCODE123"  // nur für Transfer
}
Response
{
  "success": true,
  "data": {
    "order": {
      "id": 42,
      "domain": "example.com",
      "status": "active",
      "expiry_date": "2027-01-15 10:00:00",
      "price_paid": 12.99
    }
  }
}
POST /domains/{name}/renew

Domain verlängern

Request
{"years": 1}
Response
{
  "success": true,
  "data": {
    "renewal": {"years_added": 1, "new_expiry": "2027-01-15T10:00:00Z"},
    "price": {"total": 12.99, "discount_applied": 10.0},
    "account": {"credit_before": 100.00, "credit_after": 87.01}
  }
}
PUT /domains/{name}/nameservers

Nameserver ändern

Request
{"nameservers": ["ns1.example.com", "ns2.example.com"]}
POST /domains/{name}/nameservers/whitelabel

Eigene Nameserver erstellen (A-Records)

Request
{
  "ns1": "ns1.example.com",
  "ns2": "ns2.example.com",
  "ns1_ip": "1.2.3.4",
  "ns2_ip": "1.2.3.5"
}
Verwendung: Erstellt A-Records für die Nameserver. Für andere Domains können dann CNAME-Einträge auf diese Nameserver zeigen.

DNS Management

GET /domains/{name}/dns

DNS-Records auflisten

POST /domains/{name}/dns

DNS-Record erstellen

Request
{
  "type": "A",
  "host": "@",
  "value": "1.2.3.4",
  "ttl": 3600
}
Typen: A, AAAA, CNAME, MX, TXT, SRV, NS
MX/SRV: Benötigen zusätzliche Felder (priority, weight, port)
PUT /domains/{name}/dns/{id}

DNS-Record aktualisieren

DELETE /domains/{name}/dns/{id}

DNS-Record löschen

POST /domains/{name}/dns/quick-setup

Schnelle DNS-Konfiguration

Beispiele
// Website
{"type": "website", "ip": "1.2.3.4"}

// Mail
{"type": "mail", "mail_host": "mail.example.com", "mail_ip": "1.2.3.4"}

// Gaming Server
{"type": "gamingserver", "server_ip": "1.2.3.4", "server_port": 25565}

// CDN
{"type": "cdn", "cname_target": "example.cdn.com"}

// Full Setup
{"type": "full", "ip": "1.2.3.4", "mail_ip": "1.2.3.4", "mail_host": "mail.example.com"}
Typen: website, mail, subdomain, redirect, cdn, gamingserver, full

DDoS Schutz

GET /ddos/protection

Liste aller DDoS Schutz Konfigurationen

POST /ddos/protection

DDoS Schutz aktivieren

Request
{
  "ip_address": "203.0.113.42",
  "protection_level": "standard"
}
POST /ddos/protection/{id}/disable

DDoS Schutz deaktivieren

Error Codes

400 Bad Request
Ungültige Parameter
401 Unauthorized
Fehlender oder ungültiger API-Key
403 Forbidden
Keine Berechtigung für diese Ressource
404 Not Found
Ressource nicht gefunden
429 Too Many Requests
Rate Limit überschritten
500 Internal Server Error
Serverfehler
Error Format
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid API key",
    "details": "...",
    "field": "api_key"
  }
}

Rate Limits

100/min
Requests pro Minute
5000/h
Requests pro Stunde
50000/Tag
Requests pro Tag
Response Header X-RateLimit-Remaining zeigt verbleibende Requests