# ÜberblickDiese Referenz folgt den tatsächlich verfügbaren Kundenrouten.
# Referenzoperation lesenJeder Eintrag nennt Methode, Pfad, Authentifizierung, Rolle, Parameter, Body, Antwort und Fehler. Pfad-IDs stammen aus Listen; leiten Sie IDs nie aus Anzeigenamen ab.
Collections verwenden data und können Metadaten enthalten. Uploads nutzen multipart/form-data, übliche Mutationen JSON. Beispiele enthalten Platzhalter; schreiben Sie keine echten Geheimnisse in die Shell-Historie.
# Vor Automatisierung1 Rufen Sie /api/auth/me für Token und Organisation auf.
2 Listen Sie die Ressource und lesen Sie ihre ID.
3 Testen Sie die Mutation an einer unkritischen Ressource.
4 Behandeln Sie 401, 403, 404, 422, 429 und Timeouts ausdrücklich.
# Maschinenlesbares OpenAPILaden Sie /docs/api/openapi.json für Typgenerierung oder Exploration und behalten Sie die hier beschriebenen Rollen- und Retryregeln bei.
# REST-Operationen für Kunden
Authentication 3
POST /api/auth/login
# API-Sitzungstoken erstellen
Bei 2FA im Dashboard ein persönliches Token erstellen und direkt verwenden.
Authentifizierung Keine
Rollen Keine
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/auth/login' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"email":"dev@example.com","password":"PASSWORD"}'
GET /api/auth/me
# Aktuelles Profil lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/auth/me' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/auth/logout
# Aktuelles Token widerrufen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/auth/logout' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
Zones 3
GET /api/zones
# Zonen auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/zones' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/zones
# Zone erstellen, registrieren oder übertragen
Registrierung und Übertragung laufen asynchron und können 202 mit task_id liefern.
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201 202
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/zones' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"domain":"assets.example.com"}'
GET /api/zones/{id}
# Zone lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/zones/ZONE_ID' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
Cache 2
POST /api/zones/{id}/purge
# Pfad aus dem Cache löschen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/zones/ZONE_ID/purge' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{}'
POST /api/zones/{id}/purge-all
# Gesamte Zone leeren
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/zones/ZONE_ID/purge-all' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
Analytics 1
GET /api/zones/{id}/stats
# Zonenstatistiken lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/zones/ZONE_ID/stats?period=24h' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
Files 4
GET /api/files
# Dateien auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/files?zone_id=42&per_page=25&page=1' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/files
# Datei hochladen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/files' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--form 'file=@./asset.png' \
--form 'zone_id=42' \
--form 'cache_ttl=3600' \
--form 'direct_public_link=false'
GET /api/files/{uuid}
# Datei lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/files/FILE_UUID' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
DELETE /api/files/{uuid}
# Datei löschen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request DELETE \
--url 'https://api.cdn.pizza/api/files/FILE_UUID' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
Nodes 5
GET /api/nodes
# Verfügbare Nodes auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/nodes' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/nodes
# Kunden-Node erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/nodes' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"node_id":"edge-zurich-01","hostname":"edge-zurich-01.example.net","ip_address":"203.0.113.42","region_id":1,"country":"CH"}'
GET /api/nodes/tokens
# BYOC-Tokens auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/nodes/tokens' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/nodes/tokens
# BYOC-Token erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/nodes/tokens' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{}'
DELETE /api/nodes/tokens/{id}
# BYOC-Token widerrufen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request DELETE \
--url 'https://api.cdn.pizza/api/nodes/tokens/TOKEN_ID' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
Private networks 5
GET /api/networks
# Private Netzwerke auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/networks' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/networks
# Privates Netzwerk erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/networks' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"name":"backoffice","private_cidr":"10.42.0.0/24"}'
GET /api/networks/{network}
# Privates Netzwerk lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/networks/NETWORK_ID' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/networks/{network}/enrollment-keys
# Netzwerk-Einrichtungsschlüssel erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/networks/NETWORK_ID/enrollment-keys' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"name":"first-device"}'
POST /api/networks/enroll
# WireGuard-Peer einrichten
Authentifizierung Einrichtungsschlüssel im Body
Rollen Keine
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/networks/enroll' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"enrollment_token":"ENROLLMENT_TOKEN","name":"origin-geneva","public_key":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}'
Status agents 5
POST /api/status-agents/enrollment-keys
# Agent-Einrichtungsschlüssel erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/status-agents/enrollment-keys' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"status_page_id":1,"name":"branch-geneva"}'
POST /api/status-agents/enroll
# Status-Agent einrichten
Authentifizierung Einrichtungsschlüssel im Body
Rollen Keine
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/status-agents/enroll' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"enrollment_token":"STATUS_ENROLLMENT_TOKEN","name":"branch-geneva"}'
GET /api/status-agents/config
# Agentkonfiguration lesen
Authentifizierung Bearer-Token des Agents
Rollen Keine
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/status-agents/config' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer STATUS_AGENT_TOKEN'
POST /api/status-agents/heartbeat
# Agent-Heartbeat senden
Authentifizierung Bearer-Token des Agents
Rollen Keine
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/status-agents/heartbeat' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer STATUS_AGENT_TOKEN' \
--header 'Content-Type: application/json' \
--data '{}'
POST /api/status-agents/results
# Prüfergebnisse senden
Authentifizierung Bearer-Token des Agents
Rollen Keine
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/status-agents/results' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer STATUS_AGENT_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"results":[{"monitor_id":17,"configuration_version":2,"healthy":true,"latency_ms":42.5}]}'
Partner POPs 3
GET /api/partner-pops
# Partner-POPs auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/partner-pops' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/partner-pops
# Partner-POP erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/partner-pops' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"company_name":"Example Networks AG","display_name":"Zurich IX","contact_email":"noc@example.net","city":"Zürich","country":"CH","capacity_mbps":10000,"requirements_accepted":true}'
POST /api/partner-pops/{partnerPop}/enrollment-token
# POP-Installationstoken erstellen
Der POP muss zur Organisation gehören. Auch der Antragsteller darf das Token erstellen.
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/partner-pops/PARTNER_POP_ID/enrollment-token' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{}'
Privacy 4
GET /api/gdpr/export
# Kontodaten exportieren
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/gdpr/export' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
DELETE /api/gdpr/account
# Konto löschen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request DELETE \
--url 'https://api.cdn.pizza/api/gdpr/account' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"password":"ACCOUNT_PASSWORD"}'
GET /api/gdpr/consent
# Einwilligungen lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/gdpr/consent' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
PUT /api/gdpr/consent
# Einwilligungen ändern
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request PUT \
--url 'https://api.cdn.pizza/api/gdpr/consent' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{}'
Billing 3
GET /api/billing/plans
# Tarife auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/billing/plans' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
GET /api/billing
# Aktuelles Abonnement lesen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/billing' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/billing/checkout
# Checkout-Sitzung erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/billing/checkout' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"plan":"pro"}'
Webhooks 3
GET /api/webhooks
# Webhooks auflisten
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Beispiel
bash Kopieren
curl --request GET \
--url 'https://api.cdn.pizza/api/webhooks' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
POST /api/webhooks
# Webhook erstellen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 201
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/webhooks' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"url":"https://hooks.example.com/cdn-pizza","events":["file.uploaded","file.deleted"]}'
DELETE /api/webhooks/{id}
# Webhook löschen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request DELETE \
--url 'https://api.cdn.pizza/api/webhooks/WEBHOOK_ID' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
GraphQL 1
POST /api/graphql
# GraphQL-Abfrage ausführen
Authentifizierung Persönliches Bearer-Token
Rollen owner, admin, member, viewer
Erfolg 200
Anfragefelder
Beispiel
bash Kopieren
curl --request POST \
--url 'https://api.cdn.pizza/api/graphql' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"query":"query { zones { id domain } }"}'