{"data":{"external_id":3563,"slug":"meine-erste-api-anfrage-der-quickstart","title":"Meine erste API-Anfrage: der Quickstart","content":"Alles klar, lass uns JSON sprechen: In f\u00fcnf Minuten von null zur ersten Antwort. Du fragst deinen Account ab, listest deine Server und siehst live, was einer davon gerade macht. Alles nur lesend, du kannst also nichts kaputt machen.\nErste Anfrage mit curl\nAccount, Server und Live-Status abfragen\nRead-only, ideal zum Ausprobieren\nWas du brauchst\nEinen API-Token. Wie du ihn erstellst, steht in Wie erhalte ich einen API Key?. F\u00fcr diesen Quickstart reicht ein Token mit Nur Lesezugriff.\nBasis-URL ist https:\/\/api.pph.systems\/api. Deinen Token schickst du bei jeder Anfrage im Authorization-Header mit. In den Beispielen steht sk_live_XXXX als Platzhalter, dort geh\u00f6rt dein echter Token hin.\nSchritt 1: Wer bin ich?\nDie einfachste Anfrage \u00fcberhaupt. Sie gibt dein Kundenprofil zur\u00fcck und best\u00e4tigt, dass dein Token funktioniert.\ncurl --request GET \\\n  --url https:\/\/api.pph.systems\/api\/client \\\n  --header 'Accept: application\/json' \\\n  --header 'Authorization: Bearer sk_live_XXXX'\nAntwort:\n{\n  \"data\": {\n    \"id\": 12345,\n    \"full_name\": \"Max Mustermann\",\n    \"email\": \"max@example.com\",\n    \"contact\": {\n      \"firstname\": \"Max\",\n      \"lastname\": \"Mustermann\",\n      \"address1\": \"Beispielstra\u00dfe 1\",\n      \"postcode\": \"12345\",\n      \"city\": \"Musterstadt\",\n      \"country\": \"DE\"\n    },\n    \"credit\": 25,\n    \"pph_pro\": \"none\",\n    \"datecreated\": \"2022-01-15T00:00:00.000000Z\",\n    \"lastlogin\": \"2026-08-21T05:17:27.000000Z\"\n  }\n}\nWichtig ist das Grundmuster: Nutzdaten liegen immer unter data. Bekommst du hier eine g\u00fcltige Antwort, ist dein Zugang eingerichtet.\nEin Fehler w\u00fcrde so aussehen:\n{\n  \"error\": true,\n  \"trace_id\": \"342b318d-bbb6-4421-9a18-75ebb5d0b999\",\n  \"type\": \"general_error\",\n  \"message\": \"Invalid API token\",\n  \"exception_class\": \"Exception\"\n}\nSchritt 2: Welche Server habe ich?\nJetzt wird es interessant. Diese Route listet alle deine virtuellen Server auf einen Schlag.\ncurl --request GET \\\n  --url https:\/\/api.pph.systems\/api\/vps \\\n  --header 'Accept: application\/json' \\\n  --header 'Authorization: Bearer sk_live_XXXX'\nAntwort (gek\u00fcrzt):\n{\n  \"data\": &#91;\n    {\n      \"id\": 10001,\n      \"product\": { \"name\": \"KVM Konfigurierbar 3.0\", \"group\": \"AMD SSD KVM vServer\" },\n      \"label\": \"mein-webserver\",\n      \"domain\": \"10001-00000.pph-server.de\",\n      \"status\": \"Active\",\n      \"ipaddress\": \"192.0.2.10\",\n      \"additional_ips\": &#91;\"2001:db8:4a3c::1\"],\n      \"description\": &#91;\"Linux\", \"4 Cores\", \"2 GB RAM\", \"50 GB SSD\"]\n    },\n    {\n      \"id\": 10002,\n      \"product\": { \"name\": \"Ryzen 1\", \"group\": \"Ryzen Compute\" },\n      \"label\": \"Ryzekocher\",\n      \"domain\": \"10002-00000.pph-server.de\",\n      \"status\": \"Active\",\n      \"ipaddress\": \"192.0.2.36\",\n      \"additional_ips\": null,\n      \"description\": &#91;]\n    }\n  ]\n}\nJeder Server liefert noch mehr Felder, etwa zur Abrechnung, zur Konfiguration und zu gesetzten Tags. F\u00fcr den Anfang z\u00e4hlt die id. Die brauchst du f\u00fcr alle serverbezogenen Anfragen im n\u00e4chsten Schritt.\nSchritt 3: Was macht mein Server gerade?\nNimm eine id aus der Liste und h\u00e4ng sie an die Status-Route. Du bekommst den Live-Zustand des Servers.\ncurl --request GET \\\n  --url https:\/\/api.pph.systems\/api\/vps\/10001\/status \\\n  --header 'Accept: application\/json' \\\n  --header 'Authorization: Bearer sk_live_XXXX'\nAntwort:\n{\n  \"data\": {\n    \"host\": {\n      \"status\": \"running\",\n      \"locked\": false,\n      \"rescue\": false\n    },\n    \"running_tasks\": 0,\n    \"state\": {\n      \"is_rebuilding\": false,\n      \"is_in_rescue_mode\": false,\n      \"is_backing_up\": false,\n      \"is_running\": true,\n      \"is_stopped\": false\n    },\n    \"os_type\": {\n      \"name\": \"debian\",\n      \"type\": \"linux\"\n    },\n    \"last_start\": {\n      \"time\": \"2026-08-16 14:47:37\",\n      \"human_readable\": \"4 days ago\"\n    },\n    \"last_backup\": {\n      \"time\": \"2026-08-20 20:00:18\",\n      \"human_readable\": \"10 hours ago\"\n    }\n  }\n}\nAuf einen Blick siehst du, ob der Server l\u00e4uft (state.is_running), ob gerade eine Aktion aktiv ist (running_tasks) und wann das letzte Backup lief (last_backup). Genau das ist der Baustein, aus dem du dir in wenigen Zeilen dein eigenes Status-Dashboard baust.\nNichts kaputt zu machen\nAlle drei Anfragen sind reine Leseanfragen. Mit einem Read-only-Token kannst du sie gefahrlos so oft wiederholen, wie du willst (und dein Quota zul\u00e4sst). Nutze das, um dich mit dem Antwortformat vertraut zu machen, bevor du zu schreibenden Routen \u00fcbergehst.\nWie geht es weiter?\nEinen \u00dcberblick \u00fcber alles, was die API kann, gibt Was kann die API eigentlich?.\nWie Berechtigungen, Rate-Limits und Best\u00e4tigungstoken funktionieren, steht in Wie ist die API abgesichert?.\nNoch Fragen?\nTechnische Fragen zur API beantworten dir unsere Entwickler direkt in unserem Discord. Stell deine Frage im Entwickler-Channel und pinge das Dev-Team an.","schema":null,"facts":[],"links":[{"type":"faq","url":"https:\/\/support.prepaid-hoster.de\/faq\/de\/api\/wie-erhalte-ich-einen-api-key.html","data":{"post_id":"56856","post_slug":"wie-erhalte-ich-einen-api-key","post_cat_id":"24"}},{"type":"faq","url":"https:\/\/support.prepaid-hoster.de\/faq\/de\/api\/was-kann-die-prepaid-hoster-api.html","data":{"post_id":"56858","post_slug":"was-kann-die-prepaid-hoster-api","post_cat_id":"24"}},{"type":"faq","url":"https:\/\/support.prepaid-hoster.de\/faq\/de\/api\/wie-ist-die-prepaid-hoster-api-abgesichert.html","data":{"post_id":"56859","post_slug":"wie-ist-die-prepaid-hoster-api-abgesichert","post_cat_id":"24"}},{"type":"external","url":"https:\/\/pp-h.eu\/discord","data":{"title":"Prepaid-Hoster.de","meta_description":"Sieh dir die Prepaid-Hoster.de-Community auf Discord an\u00a0\u2013 h\u00e4ng mit 389 anderen Mitgliedern ab und freu dich \u00fcber kostenlose Sprach- und Textchats.","meta":[]}}]}}