AFKSystems
DE EN

API-Zugriff

Eine kleine, überwiegend lesende API für das eigene Konto. Genug, um von einem Skript aus nach den eigenen Bots zu sehen – nicht genug, um bei einem geleakten Token Schaden anzurichten.

Anmeldung

Erzeuge ein Token unter Einstellungen → Sicherheit → API-Zugang. Schicke es bei jeder Anfrage als Authorization-Kopfzeile mit:

Authorization: Bearer <token>

Ein Token meldet dich an wie eine Sitzung im Browser, aber nur für die unten stehenden Wege – für nichts sonst, was eine Browser-Sitzung dürfte.

Endpunkte

GET https://afksystems.de/api/me

Das eigene Konto: Guthaben, Nutzung, ungelesene Anzahlen.

GET https://afksystems.de/api/profiles

Alle eigenen Serverplätze, mit Bot-Status.

GET https://afksystems.de/api/profiles/:id

Ein Serverplatz im Detail.

POST https://afksystems.de/api/profiles/:id/start

Die Bots eines Serverplatzes starten.

POST https://afksystems.de/api/profiles/:id/stop

Die Bots eines Serverplatzes stoppen.

GET https://afksystems.de/api/profiles/:id/events

Verbindungsverlauf eines Serverplatzes (Verbindungen, Trennungen, Weltwechsel).

GET https://afksystems.de/api/tickets

Die eigenen Support-Tickets.

GET https://afksystems.de/api/tickets/:id

Ein Ticket, mit seinem Nachrichtenverlauf.

POST https://afksystems.de/api/tickets

Ein neues Support-Ticket eröffnen.

GET /api/me

{
  "user": {
    "id": 128,
    "display_name": "Jonas",
    "credits": 340,
    "low_balance_warning": -1
  },
  "stats": {
    "profiles": 2,
    "bots_running": 2,
    "bots_online": 2,
    "monthly_cost": 12,
    "free_slots_left": 0,
    "tickets_unread": 0
  }
}

POST /api/tickets

// Request
{ "subject": "Bot won't reconnect", "body": "It disconnected around 14:00 and hasn't come back." }

// Response
{ "ticket": { "id": 4711, "subject": "Bot won't reconnect", "status": "open", … } }

Fehler

Jeder Fehler kommt als JSON zurück: {"error": "…"}. Der HTTP-Status sagt, welche Art: 401 ohne gültiges Token, 403 für einen Weg, den das Token nicht nutzen darf, 404 für etwas, das nicht dir gehört oder nicht existiert, 429 bei vielen Anfragen auf einmal.