IPv64.net API v2

RESTful JSON-API für DynDNS, DNS, Healthchecks, DNS-Failover, CDN, Cloud Router und DNS64.
192 Endpunkte, OpenAPI 3.1, Anmeldung mit deinem API-Key.

Schnellstart

  1. Lege unter Account > API einen API-Key an. Am besten einen eigenen Key pro Gerät oder Skript, mit Ablaufdatum.
  2. Schicke den Key bei jeder Anfrage im Header Authorization mit.
  3. Alle Adressen beginnen mit https://ipv64.net/api/v2.
curl "https://ipv64.net/api/v2/me" \
  -H "Authorization: Bearer DEIN_API_KEY"

Die Antwort zeigt deinen Account, dein Paket und den Verbrauch. Die vollständige Beschreibung gibt es als OpenAPI 3.1 zum Import in Postman, Insomnia, Bruno oder Code-Generatoren.

Die bisherige API unter api.php und die DynDNS-Update-URL update.php bleiben unverändert bestehen. Für Router und einfache Geräte ist update.php weiterhin der richtige Weg.

Anmeldung

Jeder API-Key aus Account > API funktioniert, ebenso der Account-API-Key. Abgelaufene Keys und Keys gesperrter Accounts werden abgelehnt. Zwei Schreibweisen sind möglich:

Authorization: Bearer DEIN_API_KEY
X-API-Key: DEIN_API_KEY

Keys gehören nicht in URLs, weil URLs in Logs und im Browserverlauf landen. Über /api-keys kannst du Keys auch per API anlegen und löschen.

Für einen anderen Account handeln

Hat dir jemand in den Settings über die Account-Freigabe die Verwaltung seines Accounts erlaubt, kannst du mit deinem eigenen Key in seinem Account arbeiten. Dazu den Header X-IPv64-Act-As mit seiner Account-ID oder E-Mail mitschicken. Die IDs stehen unter /me/account-links.

curl "https://ipv64.net/api/v2/domains" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "X-IPv64-Act-As: kunde@example.com"

Anfragen und Antworten

  • Bodys werden als JSON mit Content-Type: application/json geschickt. Formulardaten gehen auch. Höchstens 1 MB.
  • Antworten haben immer die Form {"data": ..., "meta": {...}}. meta gibt es nur bei Listen mit Blättern.
  • Zeiten sind ISO 8601 mit Zeitzone, zum Beispiel 2026-10-10T12:00:00+02:00. Eingaben ebenso.
  • IDs: Domains gehen per ID oder Name, Records per ID oder Record-Token. Healthchecks, CDN-Domains, Router, Gateways, Peers und DNS64-Clients haben einen Token mit 32 Zeichen.
  • PATCH ändert nur die mitgeschickten Felder. Leere Strings löschen einen Wert, wo das sinnvoll ist.
  • Erfolgscodes: 200 OK, 201 angelegt, 202 angenommen und wird umgesetzt, 204 erfolgreich ohne Inhalt.
  • HEAD wird wie GET behandelt. OPTIONS nennt im Header Allow die erlaubten Methoden. Clients ohne PATCH oder DELETE schicken POST mit X-HTTP-Method-Override.
  • Produktlimits deines Pakets gelten auch über die API, zum Beispiel die Anzahl der Domains. Der aktuelle Stand steht unter /me.

Asynchrone Änderungen

Viele Änderungen bei CDN, Cloud Router, DNS64 und DNS-Failover setzen Hintergrunddienste auf den Servern um. Die API antwortet dann mit 202 und dem neuen Zustand. Fertig ist die Änderung, wenn

  • bei Gateways, Peers, Port-Forwards, Routen, Firewall-Regeln, öffentlichen IPs und DNS64-Clients state auf ready steht,
  • bei CDN-Domains die Liste pending leer ist,
  • bei DNS-Failover-Policies status nicht mehr auf failover_requested oder fallback_requested steht.

Ruf dazu den Eintrag alle paar Sekunden mit GET ab. Während ein Gateway oder Peer eingerichtet wird, antworten weitere Änderungen mit 409 und retry_after.

Seitenweise abrufen

Logs und Healthcheck-Events werden mit einem Cursor abgerufen statt mit Seitenzahlen. So fehlen keine Einträge, wenn währenddessen neue dazukommen.

  • limit legt die Anzahl fest.
  • before holt ältere Einträge. Den Wert liefert meta.next_before.
  • after holt neuere Einträge, aufsteigend sortiert. Ideal, um regelmäßig nur Neues abzuholen.
  • since beschränkt auf einen Zeitraum ab einem Zeitpunkt.

Limits

Die API hat eigene Limits gegen Überlastung, unabhängig vom API-Limit deines Pakets. Sie arbeiten als Token Bucket: Ein Vorrat erlaubt kurze Spitzen und füllt sich gleichmäßig wieder auf.

WasVorratNachfüllen
Anfragen pro Account30010 pro Sekunde
Anfragen pro IP-Adresse60020 pro Sekunde
Fehlgeschlagene Anmeldungen pro IP201 alle 5 Sekunden
Testnachrichten pro Healthcheck oder Integration11 alle 30 Sekunden
Bestätigungen per E-Mail oder SMS31 alle 10 Minuten

Jede Antwort enthält die Header RateLimit-Limit und RateLimit-Remaining. Bei Überschreitung kommt 429 mit dem Header Retry-After in Sekunden.

Fehler

Fehler kommen als application/problem+json nach RFC 9457. Für Programme ist code gedacht, für Menschen detail. Betrifft der Fehler ein Eingabefeld, steht es in field.

HTTP/1.1 422 Unprocessable Content
Content-Type: application/problem+json

{
  "type": "https://ipv64.net/api/v2/errors#missing_field",
  "title": "Unprocessable Content",
  "status": 422,
  "detail": "Field 'name' is required.",
  "code": "missing_field",
  "field": "name"
}
Anfrage (400, 413, 415)
invalid_json400Der Body ist kein gültiges JSON.
invalid_parameter400Ein Query-Parameter hat einen ungültigen Wert.
missing_parameter400Ein Pflicht-Query-Parameter fehlt.
invalid_time400Ein Zeitpunkt ist nicht im Format ISO 8601.
payload_too_large413Der Body ist größer als 1 MB.
image_too_large413Das Bild ist größer als 1 MB oder 1024 x 1024 Pixel.
unsupported_media_type415Bitte Content-Type application/json verwenden.
invalid_image415Nur JPEG, PNG oder WebP.
Anmeldung und Rechte (401, 403)
unauthenticated401Es wurde kein API-Key mitgeschickt.
invalid_token401Der API-Key ist falsch, abgelaufen oder der Account ist nicht aktiv.
act_as_denied403Für den Account im Header X-IPv64-Act-As gibt es keine aktive Account-Freigabe.
limit_reached403Das Limit deines Pakets ist erreicht, zum Beispiel die Anzahl der Domains oder Healthchecks.
plan_required403Diese Funktion gibt es erst in einem höheren Paket.
traffic_limit_reached403Der CDN-Traffic des Monats ist aufgebraucht.
Nicht gefunden (404, 405)
not_found404Den Endpunkt oder Eintrag gibt es nicht.
domain_not_found404Domain nicht gefunden oder sie gehört nicht zu deinem Account.
record_not_found404Record nicht gefunden.
healthcheck_not_found404Healthcheck nicht gefunden.
integration_not_found404Integration nicht gefunden. Als 422, wenn sie in einer Liste angegeben wurde.
policy_not_found404Failover-Policy nicht gefunden.
monitor_not_found404Monitor nicht gefunden.
rule_not_found404Failover-Regel nicht gefunden.
status_page_not_found404Statusseite nicht gefunden.
offline_page_not_found404Offline-Page nicht gefunden.
cdn_not_found404CDN-Domain nicht gefunden.
mapping_not_found404Port-Mapping nicht gefunden.
router_not_found404Cloud Router nicht gefunden.
gateway_not_found404Gateway nicht gefunden.
peer_not_found404Peer nicht gefunden.
dns64_client_not_found404DNS64-Client nicht gefunden oder wird gerade gelöscht.
api_key_not_found404API-Key nicht gefunden.
method_not_allowed405Diese HTTP-Methode gibt es hier nicht. Der Header Allow nennt die erlaubten.
Konflikte (409)
domain_taken409Der Domainname ist schon vergeben.
domain_inactive409Die Domain ist deaktiviert.
record_exists409Genau diesen Record gibt es schon.
cname_conflict409Ein CNAME darf nicht neben anderen Records auf demselben Präfix stehen.
record_locked409Der Record wird vom CDN oder DNS-Failover verwaltet.
failover_active409Ein DNS-Failover ist gerade aktiv. Erst zurückschalten.
invalid_state409Die Aktion passt nicht zum aktuellen Zustand, zum Beispiel Fallback ohne aktiven Failover.
monitor_exists409Dieser Healthcheck ist schon Monitor der Policy.
rule_exists409Dieser Record ist schon in einer Failover-Policy.
in_use409Die Offline-Page wird noch von einer Failover-Regel genutzt.
slug_taken409Die Adresse der Statusseite ist schon vergeben.
integration_pending409Die Integration ist noch nicht bestätigt.
cannot_delete_current_key409Ein API-Key kann sich nicht selbst löschen.
cdn_exists409Die Domain ist schon im CDN.
cdn_server_pending409Der CDN-Server wird noch zugewiesen. Kurz warten.
cdn_deleting409Die CDN-Domain wird gerade gelöscht.
records_enabled409Erst das CDN für alle Records abschalten.
no_records409Erst mindestens einen Record über das CDN leiten.
proxy_disabled409Erst den Reverse Proxy einschalten.
already_enabled409Der Record läuft schon über das CDN.
not_enabled409Der Record läuft nicht über diese CDN-Domain.
certificate_pending409Ein Zertifikat wird gerade ausgestellt.
move_pending409Ein Serverumzug läuft bereits.
mapping_exists409Dieses Port-Mapping gibt es schon.
port_in_use409Der gewünschte Port ist auf dem CDN-Server belegt.
exists409Der Eintrag steht schon in der Liste.
duplicate409Diesen Port-Forward gibt es schon.
gateway_busy409Das Gateway wird gerade eingerichtet. retry_after nennt die Wartezeit.
gateway_deleting409Das Gateway wird gerade gelöscht.
router_busy409Der Cloud Router hat noch keinen Server.
peer_busy409Der Peer wird gerade eingerichtet.
peer_deleting409Der Peer wird gerade gelöscht.
busy409Der Eintrag wird gerade umgesetzt. Kurz warten.
ospf_deleting409OSPF wird gerade entfernt.
address_in_use409Die Tunnel-Adresse nutzt schon ein anderer Peer.
no_public_ip409Der Router hat noch keine öffentliche IP dieser Familie.
system_route409Systemrouten können nicht gelöscht werden.
Eingaben (422)
missing_field422Ein Pflichtfeld fehlt oder ist leer. field nennt das Feld.
invalid_field422Ein Feld hat ein falsches Format. field nennt das Feld.
out_of_range422Eine Zahl liegt außerhalb des erlaubten Bereichs.
invalid_type422Unbekannter Typ, zum Beispiel beim Record oder Healthcheck.
invalid_domain422Der Domainname ist nicht erlaubt.
invalid_record422Der Inhalt passt nicht zum Record-Typ oder der Record ist hier nicht erlaubt.
rejected_by_nameserver422Der Nameserver hat den Record abgelehnt. Details stehen im Account-Log.
invalid_healthcheck422Die Healthcheck-Einstellungen sind ungültig.
invalid_interval422Die Sekunden lassen sich nicht als ganze Minuten, Stunden oder Tage darstellen.
interval_too_low422Das Intervall ist für dein Paket zu kurz.
invalid_target422Das Ziel ist ungültig, nicht auflösbar oder nicht erlaubt.
invalid_url422Die URL muss mit http:// oder https:// beginnen.
internal_target422Die URL zeigt auf eine private oder reservierte Adresse.
invalid_key422Der WireGuard-Schlüssel ist ungültig oder das Paar passt nicht.
family_mismatch422Quelle und Ziel gehören zu verschiedenen IP-Familien.
missing_file422Die Datei fehlt im Multipart-Feld.
too_many422Zu viele Einträge auf einmal.
Limits und Server (429, 5xx)
rate_limited429Zu viele Anfragen. Nach Retry-After Sekunden erneut versuchen.
internal_error500Unerwarteter Fehler. Bitte mit Uhrzeit melden.
database_error500Datenbankfehler.
unknown_result500Die Aktion lieferte ein unerwartetes Ergebnis.
no_free_port503Auf dem CDN-Server ist kein Port mehr frei.

Beispiele

DynDNS-Update für ein Präfix

Ohne ipv4 und ipv6 nimmt die API die Adresse, von der die Anfrage kommt.

curl -X POST "https://ipv64.net/api/v2/domains/meinname.ipv64.de/dyndns" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prefix":"nas","ipv6":"2001:db8::10"}'
Let's Encrypt DNS-01 Challenge

TXT-Record anlegen, warten bis das Zertifikat ausgestellt ist, dann genau diesen Record wieder löschen.

curl -X POST "https://ipv64.net/api/v2/domains/meinname.ipv64.de/records" \
  -H "Authorization: Bearer DEIN_API_KEY" -H "Content-Type: application/json" \
  -d '{"type":"TXT","prefix":"_acme-challenge","content":"TOKEN_VOM_ACME_CLIENT"}'

curl -X DELETE "https://ipv64.net/api/v2/domains/meinname.ipv64.de/records?type=TXT&prefix=_acme-challenge&content=TOKEN_VOM_ACME_CLIENT" \
  -H "Authorization: Bearer DEIN_API_KEY"
Push-Healthcheck für ein Backup

Der Check erwartet einmal am Tag einen Ping und schlägt nach einer Stunde Kulanz Alarm. Die Ping-Adresse steht danach in data.push.url.

curl -X POST "https://ipv64.net/api/v2/healthchecks" \
  -H "Authorization: Bearer DEIN_API_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Backup NAS","type":"push","period_seconds":86400,"grace_seconds":3600,"integrations":[0]}'
Nur neue Healthcheck-Events abholen

Die höchste bekannte Event-ID merken und beim nächsten Mal als after übergeben.

curl "https://ipv64.net/api/v2/healthchecks/HEALTHCHECK_TOKEN/events?after=1057264859&limit=500" \
  -H "Authorization: Bearer DEIN_API_KEY"

Meta

Öffentliche Endpunkte ohne Anmeldung.

Beispiel
curl "https://ipv64.net/api/v2/"
Antwort 200
FeldTypBeschreibung
dataobject
data.namestringName
data.versionstringVersion
data.documentationstringDoku
data.timedatetimeServerzeit

Prüft auch die Datenbankverbindung. Geeignet für Monitoring.

Beispiel
curl "https://ipv64.net/api/v2/health"
Antwort 200
FeldTypBeschreibung
dataobject
data.statusstringStatus
data.versionstringVersion

Liefert die Adresse, mit der du die API erreichst.

Beispiel
curl "https://ipv64.net/api/v2/ip"
Antwort 200
FeldTypBeschreibung
dataobject
data.ipstringIP-Adresse
data.familystringFamilie Werte: ipv4, ipv6.

Zum Import in Postman, Insomnia, Bruno oder für Code-Generatoren.

Beispiel
curl "https://ipv64.net/api/v2/openapi.json"
Antwort 200
FeldTypBeschreibung
dataobjectOpenAPI-Dokument (ohne data-Hülle)

Account

Account, Nutzung, Logs und Account-Freigaben.

Zeigt Paket, Verbrauch und Limits sowie die verwendete Anmeldung.

Beispiel
curl "https://ipv64.net/api/v2/me" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerAccount-ID
data.emailstringE-Mail-Adresse
data.usernamestring | nullBenutzername
data.registered_atdatetime | nullRegistriert seit
data.last_login_atdatetime | nullLetzter Login auf der Webseite
data.planobject
data.plan.idintegerPaket-ID
data.plan.namestringPaketname
data.plan.valid_untildatetime | nullLaufzeitende, null beim Free-Paket
data.usageobject
data.usage.dyndns_domainsobjectDynDNS-Domains
data.usage.dyndns_domains.usednumberVerbraucht
data.usage.dyndns_domains.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.own_domainsobjectEigene Domains
data.usage.own_domains.usednumberVerbraucht
data.usage.own_domains.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.dyndns_updates_24hobjectDynDNS-Updates der letzten 24 Stunden
data.usage.dyndns_updates_24h.usednumberVerbraucht
data.usage.dyndns_updates_24h.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.healthchecksobjectHealthchecks
data.usage.healthchecks.usednumberVerbraucht
data.usage.healthchecks.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.healthcheck_pings_24hobjectHealthcheck-Pings der letzten 24 Stunden
data.usage.healthcheck_pings_24h.usednumberVerbraucht
data.usage.healthcheck_pings_24h.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.sms_24hobjectSMS der letzten 24 Stunden
data.usage.sms_24h.usednumberVerbraucht
data.usage.sms_24h.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.failover_policiesobjectDNS-Failover-Policies
data.usage.failover_policies.usednumberVerbraucht
data.usage.failover_policies.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.failover_monitorsobjectDNS-Failover-Monitore
data.usage.failover_monitors.usednumberVerbraucht
data.usage.failover_monitors.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.failover_rulesobjectDNS-Failover-Regeln
data.usage.failover_rules.usednumberVerbraucht
data.usage.failover_rules.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.cdn_domainsobjectCDN-Domains
data.usage.cdn_domains.usednumberVerbraucht
data.usage.cdn_domains.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.cdn_traffic_gbobjectCDN-Traffic im aktuellen Monat in GB
data.usage.cdn_traffic_gb.usednumberVerbraucht
data.usage.cdn_traffic_gb.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.usage.vpn_traffic_gbobjectCloud-Router-Traffic in GB
data.usage.vpn_traffic_gb.usednumberVerbraucht
data.usage.vpn_traffic_gb.limitintegerLimit in GB
data.usage.vpn_traffic_gb.limitedbooleanTraffic-Limit erreicht
data.usage.dns64_clientsobjectDNS64-Clients
data.usage.dns64_clients.usednumberVerbraucht
data.usage.dns64_clients.limitinteger | nullLimit des Pakets, null = unbegrenzt
data.log_retention_daysintegerSo viele Tage werden Logs aufbewahrt
data.authobjectVerwendete Anmeldung
data.auth.typestringArt des Schlüssels Werte: api_key, account_key.
data.auth.key_idinteger | nullID des API-Keys
data.auth.key_namestringName des API-Keys
data.auth.acting_forintegerBei X-IPv64-Act-As: Account, für den gehandelt wird
data.auth.acting_byintegerBei X-IPv64-Act-As: eigener Account

Mögliche Fehler: 401429 Fehlercodes

Neueste Einträge zuerst. Zum Weiterblättern meta.next_before als before übergeben. Es werden nur Einträge innerhalb der Aufbewahrungszeit des Pakets geliefert.

Parameter
FeldTypBeschreibung
limitQuery, integerAnzahl (1 bis 500) Standard: 50.
beforeQuery, integerNur Einträge mit kleinerer ID (Cursor)
sinceQuery, datetimeNur Einträge ab diesem Zeitpunkt (ISO 8601)
Beispiel
curl "https://ipv64.net/api/v2/me/logs" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerLog-ID, auch Cursor für before
data[].domain_idinteger | nullBetroffene Domain
data[].titlestringKategorie
data[].messagestringText
data[].timedatetimeZeitpunkt
metaobject
meta.limitintegerLimit
meta.next_beforeinteger | nullCursor für die nächste Seite, null = Ende
meta.retention_daysintegerAufbewahrung

Mögliche Fehler: 400401429 Fehlercodes

API-Keys

Dieselben Keys wie im Menü Account > API.

Die Keys selbst werden nie wieder angezeigt, nur Anfang und Ende.

Beispiel
curl "https://ipv64.net/api/v2/api-keys" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].namestringName
data[].token_hintstringAnfang und Ende des Keys
data[].created_atdatetime | nullAngelegt
data[].expires_atdatetime | nullAblauf, null = nie
data[].expiredbooleanAbgelaufen
data[].usesintegerAnzahl Aufrufe

Mögliche Fehler: 401429 Fehlercodes

Der vollständige Key steht nur in dieser Antwort.

Body (JSON)
FeldTypBeschreibung
namestringName
expires_inintegerGültigkeit in Sekunden, 0 = unbegrenzt Bereich: 0 bis 315360000.
Beispiel
curl -X POST "https://ipv64.net/api/v2/api-keys" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Backup-Server","expires_in":2592000}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idintegerID
data.namestringName
data.token_hintstringAnfang und Ende des Keys
data.created_atdatetime | nullAngelegt
data.expires_atdatetime | nullAblauf, null = nie
data.expiredbooleanAbgelaufen
data.usesintegerAnzahl Aufrufe
data.tokenstringDer vollständige Key. Wird nur dieses eine Mal angezeigt.

Mögliche Fehler: 401422429 Fehlercodes

Der Key, mit dem du gerade angemeldet bist, kann sich nicht selbst löschen.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/api-keys/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Domains

DynDNS-Domains und eigene Domains. Überall, wo {domain} steht, geht die ID oder der vollständige Name.

Parameter
FeldTypBeschreibung
kindQuery, stringNur DynDNS- oder nur eigene Domains Werte: dyndns, own.
Beispiel
curl "https://ipv64.net/api/v2/domains" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerDomain-ID
data[].namestringVollständiger Name
data[].kindstringdyndns oder own (eigene Domain) Werte: dyndns, own.
data[].zonestringZone
data[].wildcardbooleanWildcard-Records *.name aktiv
data[].ignorestringDiese Adressfamilie wird bei DynDNS-Updates ignoriert Werte: none, ipv4, ipv6.
data[].ipv6_prefixstring | nullFester IPv6-Präfix für Interface-IDs
data[].activebooleanDomain aktiv
data[].update_tokenstringDomain-Update-Token für update.php
data[].update_countintegerAnzahl DynDNS-Updates
data[].created_atdatetime | nullAngelegt
data[].updated_atdatetime | nullLetztes Update

Mögliche Fehler: 400401429 Fehlercodes

DynDNS-Domain: name als <wunschname>.<zone>, Zonen: ipv64.net, ipv64.de, any64.de, api64.de, dns64.de, dyndns64.de, dynipv6.de, eth64.de, home64.de, iot64.de, lan64.de, nas64.de, root64.de, route64.de, srv64.de, tcp64.de, udp64.de, vpn64.de, wan64.de. Eigene Domain: own auf true setzen und danach die Nameserver ns1.ipv64.net und ns2.ipv64.net beim Registrar eintragen. Die Limits deines Pakets gelten.

Body (JSON)
FeldTypBeschreibung
namestringPflichtDomainname
ownbooleanEigene Domain statt DynDNS
Beispiel
curl -X POST "https://ipv64.net/api/v2/domains" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"meinname.ipv64.de"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idintegerDomain-ID
data.namestringVollständiger Name
data.kindstringdyndns oder own (eigene Domain) Werte: dyndns, own.
data.zonestringZone
data.wildcardbooleanWildcard-Records *.name aktiv
data.ignorestringDiese Adressfamilie wird bei DynDNS-Updates ignoriert Werte: none, ipv4, ipv6.
data.ipv6_prefixstring | nullFester IPv6-Präfix für Interface-IDs
data.activebooleanDomain aktiv
data.update_tokenstringDomain-Update-Token für update.php
data.update_countintegerAnzahl DynDNS-Updates
data.created_atdatetime | nullAngelegt
data.updated_atdatetime | nullLetztes Update
data.recordsobject[]Alle Records der Domain
data.records[].idintegerRecord-ID
data.records[].domain_idintegerDomain-ID
data.records[].domainstringDomain
data.records[].prefixstringPräfix, leer = Domain selbst
data.records[].fqdnstringVollständiger Name
data.records[].typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.records[].contentstringInhalt
data.records[].ttlintegerTTL in Sekunden
data.records[].statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.records[].pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.records[].tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.records[].updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401403409422429 Fehlercodes

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Beispiel
curl "https://ipv64.net/api/v2/domains/beispiel.ipv64.de" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerDomain-ID
data.namestringVollständiger Name
data.kindstringdyndns oder own (eigene Domain) Werte: dyndns, own.
data.zonestringZone
data.wildcardbooleanWildcard-Records *.name aktiv
data.ignorestringDiese Adressfamilie wird bei DynDNS-Updates ignoriert Werte: none, ipv4, ipv6.
data.ipv6_prefixstring | nullFester IPv6-Präfix für Interface-IDs
data.activebooleanDomain aktiv
data.update_tokenstringDomain-Update-Token für update.php
data.update_countintegerAnzahl DynDNS-Updates
data.created_atdatetime | nullAngelegt
data.updated_atdatetime | nullLetztes Update
data.recordsobject[]Alle Records der Domain
data.records[].idintegerRecord-ID
data.records[].domain_idintegerDomain-ID
data.records[].domainstringDomain
data.records[].prefixstringPräfix, leer = Domain selbst
data.records[].fqdnstringVollständiger Name
data.records[].typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.records[].contentstringInhalt
data.records[].ttlintegerTTL in Sekunden
data.records[].statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.records[].pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.records[].tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.records[].updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404429 Fehlercodes

Nur mitgeschickte Felder werden geändert.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Body (JSON)
FeldTypBeschreibung
wildcardbooleanWildcard *.name an oder aus
ignorestringAdressfamilie bei DynDNS-Updates ignorieren Werte: none, ipv4, ipv6.
ipv6_prefixstringFester IPv6-Präfix wie 2001:db8:1234:5600::/56, leer = aus
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/domains/beispiel.ipv64.de" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"wildcard":true,"ignore":"none"}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerDomain-ID
data.namestringVollständiger Name
data.kindstringdyndns oder own (eigene Domain) Werte: dyndns, own.
data.zonestringZone
data.wildcardbooleanWildcard-Records *.name aktiv
data.ignorestringDiese Adressfamilie wird bei DynDNS-Updates ignoriert Werte: none, ipv4, ipv6.
data.ipv6_prefixstring | nullFester IPv6-Präfix für Interface-IDs
data.activebooleanDomain aktiv
data.update_tokenstringDomain-Update-Token für update.php
data.update_countintegerAnzahl DynDNS-Updates
data.created_atdatetime | nullAngelegt
data.updated_atdatetime | nullLetztes Update
data.recordsobject[]Alle Records der Domain
data.records[].idintegerRecord-ID
data.records[].domain_idintegerDomain-ID
data.records[].domainstringDomain
data.records[].prefixstringPräfix, leer = Domain selbst
data.records[].fqdnstringVollständiger Name
data.records[].typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.records[].contentstringInhalt
data.records[].ttlintegerTTL in Sekunden
data.records[].statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.records[].pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.records[].tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.records[].updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404422429 Fehlercodes

Löscht die Domain mit allen Records. Nicht möglich, solange ein DNS-Failover aktiv ist.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/domains/beispiel.ipv64.de" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Der alte Token für update.php ist sofort ungültig.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Beispiel
curl -X POST "https://ipv64.net/api/v2/domains/beispiel.ipv64.de/rotate-token" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerDomain-ID
data.namestringVollständiger Name
data.kindstringdyndns oder own (eigene Domain) Werte: dyndns, own.
data.zonestringZone
data.wildcardbooleanWildcard-Records *.name aktiv
data.ignorestringDiese Adressfamilie wird bei DynDNS-Updates ignoriert Werte: none, ipv4, ipv6.
data.ipv6_prefixstring | nullFester IPv6-Präfix für Interface-IDs
data.activebooleanDomain aktiv
data.update_tokenstringDomain-Update-Token für update.php
data.update_countintegerAnzahl DynDNS-Updates
data.created_atdatetime | nullAngelegt
data.updated_atdatetime | nullLetztes Update

Mögliche Fehler: 401404429 Fehlercodes

Löscht alle aktiven Records und setzt die Zone neu auf.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Beispiel
curl -X POST "https://ipv64.net/api/v2/domains/beispiel.ipv64.de/reset" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerDomain-ID
data.namestringVollständiger Name
data.kindstringdyndns oder own (eigene Domain) Werte: dyndns, own.
data.zonestringZone
data.wildcardbooleanWildcard-Records *.name aktiv
data.ignorestringDiese Adressfamilie wird bei DynDNS-Updates ignoriert Werte: none, ipv4, ipv6.
data.ipv6_prefixstring | nullFester IPv6-Präfix für Interface-IDs
data.activebooleanDomain aktiv
data.update_tokenstringDomain-Update-Token für update.php
data.update_countintegerAnzahl DynDNS-Updates
data.created_atdatetime | nullAngelegt
data.updated_atdatetime | nullLetztes Update
data.recordsobject[]Alle Records der Domain
data.records[].idintegerRecord-ID
data.records[].domain_idintegerDomain-ID
data.records[].domainstringDomain
data.records[].prefixstringPräfix, leer = Domain selbst
data.records[].fqdnstringVollständiger Name
data.records[].typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.records[].contentstringInhalt
data.records[].ttlintegerTTL in Sekunden
data.records[].statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.records[].pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.records[].tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.records[].updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404409429 Fehlercodes

DynDNS

IP-Updates über die API. Für Router und einfache Geräte bleibt update.php der richtige Weg.

Setzt A- und AAAA-Records einer Domain oder eines Präfixes. Ohne ipv4 und ipv6 wird die Absenderadresse verwendet. Nur öffentliche Adressen sind erlaubt. Fehlende Records werden angelegt. Das Update zählt in der Statistik, ist über die API aber nicht durch das Tageslimit begrenzt.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Body (JSON)
FeldTypBeschreibung
ipv4stringIPv4-Adresse
ipv6stringIPv6-Adresse
prefixstringPräfix, leer = Domain selbst
Beispiel
curl -X POST "https://ipv64.net/api/v2/domains/beispiel.ipv64.de/dyndns" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ipv4":"203.0.113.10","ipv6":"2001:db8::10"}'
Antwort 200
FeldTypBeschreibung
dataobject
data.domainstringDomain
data.prefixstringPräfix
data.changedbooleanMindestens ein Record geändert
data.resultsobject[]
data.results[].ipstringIP
data.results[].typestringA oder AAAA
data.results[].resultstringErgebnis je IP Werte: created, updated, unchanged, ignored, invalid_ip, cname_conflict, cdn_managed.

Mögliche Fehler: 401404409422429 Fehlercodes

DNS-Records

Records einer Domain. {record} ist die ID oder der Record-Token.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
typeQuery, stringNur dieser Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
prefixQuery, stringNur dieser Präfix
Beispiel
curl "https://ipv64.net/api/v2/domains/beispiel.ipv64.de/records" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerRecord-ID
data[].domain_idintegerDomain-ID
data[].domainstringDomain
data[].prefixstringPräfix, leer = Domain selbst
data[].fqdnstringVollständiger Name
data[].typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data[].contentstringInhalt
data[].ttlintegerTTL in Sekunden
data[].statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data[].pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data[].tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data[].updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 400401404429 Fehlercodes

TTL ist fest 60 Sekunden. Formate je Typ wie in der Weboberfläche, zum Beispiel MX als "10 mail.example.com".

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
Body (JSON)
FeldTypBeschreibung
typestringPflichtTyp Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
prefixstringPräfix, leer oder @ = Domain selbst
contentstringPflichtInhalt
Beispiel
curl -X POST "https://ipv64.net/api/v2/domains/beispiel.ipv64.de/records" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"TXT","prefix":"_acme-challenge","content":"gfj9Xq...Rg85nM"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idintegerRecord-ID
data.domain_idintegerDomain-ID
data.domainstringDomain
data.prefixstringPräfix, leer = Domain selbst
data.fqdnstringVollständiger Name
data.typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.contentstringInhalt
data.ttlintegerTTL in Sekunden
data.statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404409422429 Fehlercodes

Praktisch für ACME-Clients: löscht den Record mit genau diesem Typ, Präfix und Inhalt.

Parameter
FeldTypBeschreibung
domainPfad, stringPflichtDomain-ID oder vollständiger Name, z. B. beispiel.ipv64.de
typeQuery, stringPflichtTyp Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
contentQuery, stringPflichtInhalt
prefixQuery, stringPräfix
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/domains/beispiel.ipv64.de/records?type=TXT&content=gfj9Xq...Rg85nM" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 400401404429 Fehlercodes

Parameter
FeldTypBeschreibung
recordPfad, stringPflichtRecord-ID oder Record-Token
Beispiel
curl "https://ipv64.net/api/v2/records/4711" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerRecord-ID
data.domain_idintegerDomain-ID
data.domainstringDomain
data.prefixstringPräfix, leer = Domain selbst
data.fqdnstringVollständiger Name
data.typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.contentstringInhalt
data.ttlintegerTTL in Sekunden
data.statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404429 Fehlercodes

Ändert sich nur die IP eines A- oder AAAA-Records, bleiben ID und Token erhalten. Bei anderen Änderungen wird der Record ersetzt und bekommt eine neue ID und einen neuen Token. Records, die vom CDN oder DNS-Failover verwaltet werden, sind gesperrt.

Parameter
FeldTypBeschreibung
recordPfad, stringPflichtRecord-ID oder Record-Token
Body (JSON)
FeldTypBeschreibung
typestringTyp Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
prefixstringPräfix
contentstringInhalt
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/records/4711" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"203.0.113.20"}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerRecord-ID
data.domain_idintegerDomain-ID
data.domainstringDomain
data.prefixstringPräfix, leer = Domain selbst
data.fqdnstringVollständiger Name
data.typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.contentstringInhalt
data.ttlintegerTTL in Sekunden
data.statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
recordPfad, stringPflichtRecord-ID oder Record-Token
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/records/4711" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Healthchecks

Push-Checks (dein System meldet sich) und aktive Checks (ICMP, TCP, HTTP, Keyword). {token} ist der Healthcheck-Token.

Parameter
FeldTypBeschreibung
typeQuery, stringNur diese Art Werte: push, icmp, tcp, http, keyword.
statusQuery, stringNur dieser Status Werte: new, up, paused, warning, down, stabilizing.
Beispiel
curl "https://ipv64.net/api/v2/healthchecks" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].tokenstringHealthcheck-Token, identifiziert den Check
data[].namestringName
data[].typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data[].statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data[].notifyobject
data[].notify.on_downbooleanBei DOWN benachrichtigen
data[].notify.on_upbooleanBei UP benachrichtigen
data[].notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data[].created_atdatetime | nullAngelegt
data[].last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data[].last_alarm_atdatetime | nullLetzter Alarm
data[].pings_totalintegerAnzahl Pings
data[].failed_in_rowintegerFehlschläge in Folge
data[].pushobjectNur bei type push
data[].push.urlstringDiese URL pingt dein System an
data[].push.period_secondsintegerErwarteter Abstand der Pings
data[].push.grace_secondsintegerKulanzzeit
data[].push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data[].checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data[].check.targetstringZiel bei icmp und tcp
data[].check.prefer_ipv4booleanIPv4 bevorzugen
data[].check.portintegerPort bei tcp
data[].check.urlstringURL bei http und keyword
data[].check.verify_tlsbooleanZertifikat prüfen
data[].check.keywordstringSuchbegriff bei keyword
data[].check.interval_secondsintegerPrüfintervall
data[].check.retry_interval_secondsintegerIntervall nach einem Fehler
data[].check.failures_before_alarmintegerFehlschläge bis zum Alarm
data[].check.next_check_atdatetime | nullNächste Prüfung

Mögliche Fehler: 400401429 Fehlercodes

Push-Check: Danach push.url aus der Antwort regelmäßig aufrufen. Aktive Checks: target bzw. url ist Pflicht.

Body (JSON)
FeldTypBeschreibung
namestringPflichtName
typestringArt. Erlaubt sind auch die Namen der Weboberfläche: health, ping, web. Werte: push, icmp, tcp, http, keyword.
integrationsinteger[]Integrationen für Benachrichtigungen, 0 = Account-E-Mail
notify_on_downbooleanBei DOWN benachrichtigen
notify_on_upbooleanBei UP benachrichtigen
period_secondsintegerpush: erwarteter Abstand der Pings. Ganze Minuten, Stunden oder Tage. Bereich: 60 bis ….
grace_secondsintegerpush: Kulanzzeit nach Ablauf der Periode. Ganze Minuten, Stunden oder Tage. Bereich: 60 bis ….
targetstringicmp und tcp: Hostname oder IP
prefer_ipv4booleanicmp und tcp: IPv4 bevorzugen
portintegertcp: Port Bereich: 1 bis 65535.
urlstringhttp und keyword: URL
verify_tlsbooleanhttp und keyword: Zertifikat prüfen
keywordstringkeyword: Text, der auf der Seite stehen muss
interval_secondsintegerAktive Checks: Prüfintervall. Free-Paket mindestens 120 Sekunden. Bereich: 1 bis 86400.
retry_interval_secondsintegerAktive Checks: Intervall nach einem Fehler, mindestens 10 Sekunden Bereich: 1 bis 86400.
failures_before_alarmintegerAktive Checks: Fehlschläge bis zum Alarm Bereich: 1 bis 60.
Beispiel
curl -X POST "https://ipv64.net/api/v2/healthchecks" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Webseite","type":"http","url":"https://example.com/","interval_seconds":300,"integrations":[0]}'
Antwort 201
FeldTypBeschreibung
dataobject
data.tokenstringHealthcheck-Token, identifiziert den Check
data.namestringName
data.typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data.statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.notifyobject
data.notify.on_downbooleanBei DOWN benachrichtigen
data.notify.on_upbooleanBei UP benachrichtigen
data.notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data.created_atdatetime | nullAngelegt
data.last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data.last_alarm_atdatetime | nullLetzter Alarm
data.pings_totalintegerAnzahl Pings
data.failed_in_rowintegerFehlschläge in Folge
data.pushobjectNur bei type push
data.push.urlstringDiese URL pingt dein System an
data.push.period_secondsintegerErwarteter Abstand der Pings
data.push.grace_secondsintegerKulanzzeit
data.push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data.checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data.check.targetstringZiel bei icmp und tcp
data.check.prefer_ipv4booleanIPv4 bevorzugen
data.check.portintegerPort bei tcp
data.check.urlstringURL bei http und keyword
data.check.verify_tlsbooleanZertifikat prüfen
data.check.keywordstringSuchbegriff bei keyword
data.check.interval_secondsintegerPrüfintervall
data.check.retry_interval_secondsintegerIntervall nach einem Fehler
data.check.failures_before_alarmintegerFehlschläge bis zum Alarm
data.check.next_check_atdatetime | nullNächste Prüfung
data.recentobject[]Die letzten 20 Events
data.recent[].idintegerEvent-ID, auch Cursor
data.recent[].timedatetimeZeitpunkt
data.recent[].statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.recent[].messagestringText
data.recent[].latency_msnumber | nullAntwortzeit
data.recent[].payloadobject | nullZusatzdaten des Pings

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.tokenstringHealthcheck-Token, identifiziert den Check
data.namestringName
data.typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data.statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.notifyobject
data.notify.on_downbooleanBei DOWN benachrichtigen
data.notify.on_upbooleanBei UP benachrichtigen
data.notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data.created_atdatetime | nullAngelegt
data.last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data.last_alarm_atdatetime | nullLetzter Alarm
data.pings_totalintegerAnzahl Pings
data.failed_in_rowintegerFehlschläge in Folge
data.pushobjectNur bei type push
data.push.urlstringDiese URL pingt dein System an
data.push.period_secondsintegerErwarteter Abstand der Pings
data.push.grace_secondsintegerKulanzzeit
data.push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data.checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data.check.targetstringZiel bei icmp und tcp
data.check.prefer_ipv4booleanIPv4 bevorzugen
data.check.portintegerPort bei tcp
data.check.urlstringURL bei http und keyword
data.check.verify_tlsbooleanZertifikat prüfen
data.check.keywordstringSuchbegriff bei keyword
data.check.interval_secondsintegerPrüfintervall
data.check.retry_interval_secondsintegerIntervall nach einem Fehler
data.check.failures_before_alarmintegerFehlschläge bis zum Alarm
data.check.next_check_atdatetime | nullNächste Prüfung
data.recentobject[]Die letzten 20 Events
data.recent[].idintegerEvent-ID, auch Cursor
data.recent[].timedatetimeZeitpunkt
data.recent[].statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.recent[].messagestringText
data.recent[].latency_msnumber | nullAntwortzeit
data.recent[].payloadobject | nullZusatzdaten des Pings

Mögliche Fehler: 401404429 Fehlercodes

Nur mitgeschickte Felder werden geändert. Ein Wechsel von type setzt die Prüf-Einstellungen zurück.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
typestringArt. Erlaubt sind auch die Namen der Weboberfläche: health, ping, web. Werte: push, icmp, tcp, http, keyword.
integrationsinteger[]Integrationen für Benachrichtigungen, 0 = Account-E-Mail
notify_on_downbooleanBei DOWN benachrichtigen
notify_on_upbooleanBei UP benachrichtigen
period_secondsintegerpush: erwarteter Abstand der Pings. Ganze Minuten, Stunden oder Tage. Bereich: 60 bis ….
grace_secondsintegerpush: Kulanzzeit nach Ablauf der Periode. Ganze Minuten, Stunden oder Tage. Bereich: 60 bis ….
targetstringicmp und tcp: Hostname oder IP
prefer_ipv4booleanicmp und tcp: IPv4 bevorzugen
portintegertcp: Port Bereich: 1 bis 65535.
urlstringhttp und keyword: URL
verify_tlsbooleanhttp und keyword: Zertifikat prüfen
keywordstringkeyword: Text, der auf der Seite stehen muss
interval_secondsintegerAktive Checks: Prüfintervall. Free-Paket mindestens 120 Sekunden. Bereich: 1 bis 86400.
retry_interval_secondsintegerAktive Checks: Intervall nach einem Fehler, mindestens 10 Sekunden Bereich: 1 bis 86400.
failures_before_alarmintegerAktive Checks: Fehlschläge bis zum Alarm Bereich: 1 bis 60.
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"interval_seconds":60,"failures_before_alarm":2}'
Antwort 200
FeldTypBeschreibung
dataobject
data.tokenstringHealthcheck-Token, identifiziert den Check
data.namestringName
data.typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data.statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.notifyobject
data.notify.on_downbooleanBei DOWN benachrichtigen
data.notify.on_upbooleanBei UP benachrichtigen
data.notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data.created_atdatetime | nullAngelegt
data.last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data.last_alarm_atdatetime | nullLetzter Alarm
data.pings_totalintegerAnzahl Pings
data.failed_in_rowintegerFehlschläge in Folge
data.pushobjectNur bei type push
data.push.urlstringDiese URL pingt dein System an
data.push.period_secondsintegerErwarteter Abstand der Pings
data.push.grace_secondsintegerKulanzzeit
data.push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data.checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data.check.targetstringZiel bei icmp und tcp
data.check.prefer_ipv4booleanIPv4 bevorzugen
data.check.portintegerPort bei tcp
data.check.urlstringURL bei http und keyword
data.check.verify_tlsbooleanZertifikat prüfen
data.check.keywordstringSuchbegriff bei keyword
data.check.interval_secondsintegerPrüfintervall
data.check.retry_interval_secondsintegerIntervall nach einem Fehler
data.check.failures_before_alarmintegerFehlschläge bis zum Alarm
data.check.next_check_atdatetime | nullNächste Prüfung
data.recentobject[]Die letzten 20 Events
data.recent[].idintegerEvent-ID, auch Cursor
data.recent[].timedatetimeZeitpunkt
data.recent[].statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.recent[].messagestringText
data.recent[].latency_msnumber | nullAntwortzeit
data.recent[].payloadobject | nullZusatzdaten des Pings

Mögliche Fehler: 401404422429 Fehlercodes

Nicht möglich, solange der Check einen aktiven DNS-Failover steuert.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/pause" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.tokenstringHealthcheck-Token, identifiziert den Check
data.namestringName
data.typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data.statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.notifyobject
data.notify.on_downbooleanBei DOWN benachrichtigen
data.notify.on_upbooleanBei UP benachrichtigen
data.notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data.created_atdatetime | nullAngelegt
data.last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data.last_alarm_atdatetime | nullLetzter Alarm
data.pings_totalintegerAnzahl Pings
data.failed_in_rowintegerFehlschläge in Folge
data.pushobjectNur bei type push
data.push.urlstringDiese URL pingt dein System an
data.push.period_secondsintegerErwarteter Abstand der Pings
data.push.grace_secondsintegerKulanzzeit
data.push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data.checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data.check.targetstringZiel bei icmp und tcp
data.check.prefer_ipv4booleanIPv4 bevorzugen
data.check.portintegerPort bei tcp
data.check.urlstringURL bei http und keyword
data.check.verify_tlsbooleanZertifikat prüfen
data.check.keywordstringSuchbegriff bei keyword
data.check.interval_secondsintegerPrüfintervall
data.check.retry_interval_secondsintegerIntervall nach einem Fehler
data.check.failures_before_alarmintegerFehlschläge bis zum Alarm
data.check.next_check_atdatetime | nullNächste Prüfung

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/resume" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.tokenstringHealthcheck-Token, identifiziert den Check
data.namestringName
data.typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data.statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.notifyobject
data.notify.on_downbooleanBei DOWN benachrichtigen
data.notify.on_upbooleanBei UP benachrichtigen
data.notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data.created_atdatetime | nullAngelegt
data.last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data.last_alarm_atdatetime | nullLetzter Alarm
data.pings_totalintegerAnzahl Pings
data.failed_in_rowintegerFehlschläge in Folge
data.pushobjectNur bei type push
data.push.urlstringDiese URL pingt dein System an
data.push.period_secondsintegerErwarteter Abstand der Pings
data.push.grace_secondsintegerKulanzzeit
data.push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data.checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data.check.targetstringZiel bei icmp und tcp
data.check.prefer_ipv4booleanIPv4 bevorzugen
data.check.portintegerPort bei tcp
data.check.urlstringURL bei http und keyword
data.check.verify_tlsbooleanZertifikat prüfen
data.check.keywordstringSuchbegriff bei keyword
data.check.interval_secondsintegerPrüfintervall
data.check.retry_interval_secondsintegerIntervall nach einem Fehler
data.check.failures_before_alarmintegerFehlschläge bis zum Alarm
data.check.next_check_atdatetime | nullNächste Prüfung

Mögliche Fehler: 401403404429 Fehlercodes

Die Push-URL ändert sich dadurch. Events, Incidents und Failover-Monitore werden mitgenommen.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/rotate-token" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.tokenstringHealthcheck-Token, identifiziert den Check
data.namestringName
data.typestringArt des Checks Werte: push, icmp, tcp, http, keyword.
data.statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data.notifyobject
data.notify.on_downbooleanBei DOWN benachrichtigen
data.notify.on_upbooleanBei UP benachrichtigen
data.notify.integrationsinteger[]IDs der Integrationen, 0 = Account-E-Mail
data.created_atdatetime | nullAngelegt
data.last_seen_atdatetime | nullLetzter Ping oder letzte Prüfung
data.last_alarm_atdatetime | nullLetzter Alarm
data.pings_totalintegerAnzahl Pings
data.failed_in_rowintegerFehlschläge in Folge
data.pushobjectNur bei type push
data.push.urlstringDiese URL pingt dein System an
data.push.period_secondsintegerErwarteter Abstand der Pings
data.push.grace_secondsintegerKulanzzeit
data.push.expected_bydatetime | nullSpätester Zeitpunkt für den nächsten Ping
data.checkobject | nullNur bei aktiven Checks (icmp, tcp, http, keyword). null, solange noch nichts eingestellt ist.
data.check.targetstringZiel bei icmp und tcp
data.check.prefer_ipv4booleanIPv4 bevorzugen
data.check.portintegerPort bei tcp
data.check.urlstringURL bei http und keyword
data.check.verify_tlsbooleanZertifikat prüfen
data.check.keywordstringSuchbegriff bei keyword
data.check.interval_secondsintegerPrüfintervall
data.check.retry_interval_secondsintegerIntervall nach einem Fehler
data.check.failures_before_alarmintegerFehlschläge bis zum Alarm
data.check.next_check_atdatetime | nullNächste Prüfung

Mögliche Fehler: 401404429 Fehlercodes

Ohne Cursor die neuesten zuerst. Mit after werden ältere zuerst geliefert, ideal zum fortlaufenden Abholen neuer Events.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
limitQuery, integerAnzahl (1 bis 1000) Standard: 100.
beforeQuery, integerNur Events mit kleinerer ID
afterQuery, integerNur Events mit größerer ID, aufsteigend sortiert
sinceQuery, datetimeNur Events ab diesem Zeitpunkt (ISO 8601)
Beispiel
curl "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/events" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerEvent-ID, auch Cursor
data[].timedatetimeZeitpunkt
data[].statusstringStatus Werte: new, up, paused, warning, down, stabilizing.
data[].messagestringText
data[].latency_msnumber | nullAntwortzeit
data[].payloadobject | nullZusatzdaten des Pings
metaobject
meta.limitintegerLimit
meta.has_morebooleanWeitere Events vorhanden
meta.next_beforeinteger | nullCursor ohne after
meta.next_afterinteger | nullCursor mit after

Mögliche Fehler: 400401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
limitQuery, integerAnzahl (1 bis 500) Standard: 50.
Beispiel
curl "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/incidents" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].statusstringStatus Werte: open, closed.
data[].created_atdatetime | nullBeginn
data[].closed_atdatetime | nullEnde
data[].eventsobject[]
data[].events[].timedatetime | nullZeitpunkt
data[].events[].kindstringArt
data[].events[].messagestringText

Mögliche Fehler: 400401404429 Fehlercodes

Berechnet aus den gespeicherten Events, mit Zeitreihe.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
rangeQuery, stringZeitraum Werte: 1h, 24h, 7d, 30d. Standard: 24h.
Beispiel
curl "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/stats" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.rangestringZeitraum
data.fromdatetime | nullBeginn
data.todatetime | nullEnde
data.measurementsintegerAnzahl Messungen
data.availability_percentnumber | nullVerfügbarkeit
data.latency_msobject
data.latency_ms.avgnumber | nullDurchschnitt
data.latency_ms.minnumber | nullMinimum
data.latency_ms.maxnumber | nullMaximum
data.bucket_secondsintegerBreite eines Zeitreihen-Punkts
data.seriesobject[]
data.series[].timedatetimeBeginn des Intervalls
data.series[].measurementsintegerMessungen
data.series[].availability_percentnumberVerfügbarkeit
data.series[].latency_avg_msnumber | nullDurchschnitt
data.series[].latency_max_msnumber | nullMaximum

Mögliche Fehler: 400401404429 Fehlercodes

An alle Integrationen des Checks. Höchstens eine pro 30 Sekunden.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/healthchecks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/test-notification" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.sentbooleanGesendet

Mögliche Fehler: 401404429 Fehlercodes

Benachrichtigungen

Integrationen für Healthchecks und DNS-Failover. Die ID 0 steht immer für die E-Mail-Adresse des Accounts.

Parameter
FeldTypBeschreibung
include_secretsQuery, stringTokens und URLs vollständig anzeigen Werte: true, false.
Beispiel
curl "https://ipv64.net/api/v2/integrations" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID, 0 = Account-E-Mail
data[].typestringArt Werte: account_email, telegram, gotify, ntfy, pushover, discord, webhook, email, sms, app.
data[].namestringName
data[].statusstringE-Mail und SMS müssen erst bestätigt werden Werte: active, pending_verification.
data[].defaultboolean | nullWird bei neuen Healthchecks vorausgewählt
data[].optionsobjectEinstellungen je Typ. Geheimnisse sind gekürzt, außer mit include_secrets=true.
data[].created_atdatetime | nullAngelegt
data[].last_used_atdatetime | nullZuletzt benutzt
data[].usesintegerAnzahl Nachrichten

Mögliche Fehler: 400401429 Fehlercodes

Je nach type sind andere Felder nötig:

- telegram: chat_id, api_token
- gotify: server_url, app_token, priority (0 bis 10)
- ntfy: server_url (inklusive Topic), priority_down und priority_up (1 bis 5)
- pushover: user_token, app_token, device, priority (-2 bis 1)
- discord: webhook_url, ping_user, ping_group
- webhook: url_down und/oder url_up
- email: email. Es wird ein Bestätigungslink verschickt.
- sms: number (deutsche Mobilnummer), country_code 0049. Es wird ein Bestätigungslink per SMS verschickt.
- app: device_token der IPv64-App

URLs müssen mit http oder https beginnen und auf öffentliche Adressen zeigen. E-Mail- und SMS-Bestätigungen sind auf wenige pro Stunde begrenzt.

Body (JSON)
FeldTypBeschreibung
typestringPflichtArt Werte: telegram, gotify, ntfy, pushover, discord, webhook, email, sms, app.
namestringPflichtName
defaultbooleanBei neuen Healthchecks vorauswählen
chat_idstringtelegram
api_tokenstringtelegram: Bot-Token
server_urlstringgotify, ntfy
app_tokenstringgotify, pushover
user_tokenstringpushover
devicestringpushover
priorityintegergotify (0 bis 10), pushover (-2 bis 1)
priority_downintegerntfy (1 bis 5)
priority_upintegerntfy (1 bis 5)
webhook_urlstringdiscord
ping_userstringdiscord: User-ID
ping_groupstringdiscord: Rollen-ID
url_downstringwebhook: wird bei DOWN aufgerufen
url_upstringwebhook: wird bei UP aufgerufen
emailstringemail
numberstringsms
country_codestringsms
device_tokenstringapp
Beispiel
curl -X POST "https://ipv64.net/api/v2/integrations" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"telegram","name":"Mein Telegram","chat_id":"123456789","api_token":"123456:ABC-DEF"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idintegerID, 0 = Account-E-Mail
data.typestringArt Werte: account_email, telegram, gotify, ntfy, pushover, discord, webhook, email, sms, app.
data.namestringName
data.statusstringE-Mail und SMS müssen erst bestätigt werden Werte: active, pending_verification.
data.defaultboolean | nullWird bei neuen Healthchecks vorausgewählt
data.optionsobjectEinstellungen je Typ. Geheimnisse sind gekürzt, außer mit include_secrets=true.
data.created_atdatetime | nullAngelegt
data.last_used_atdatetime | nullZuletzt benutzt
data.usesintegerAnzahl Nachrichten

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
include_secretsQuery, stringTokens und URLs vollständig anzeigen Werte: true, false.
Beispiel
curl "https://ipv64.net/api/v2/integrations/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerID, 0 = Account-E-Mail
data.typestringArt Werte: account_email, telegram, gotify, ntfy, pushover, discord, webhook, email, sms, app.
data.namestringName
data.statusstringE-Mail und SMS müssen erst bestätigt werden Werte: active, pending_verification.
data.defaultboolean | nullWird bei neuen Healthchecks vorausgewählt
data.optionsobjectEinstellungen je Typ. Geheimnisse sind gekürzt, außer mit include_secrets=true.
data.created_atdatetime | nullAngelegt
data.last_used_atdatetime | nullZuletzt benutzt
data.usesintegerAnzahl Nachrichten

Mögliche Fehler: 400401404429 Fehlercodes

Für andere Änderungen die Integration neu anlegen.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
namestringName
defaultbooleanVorauswahl
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/integrations/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"default":true}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerID, 0 = Account-E-Mail
data.typestringArt Werte: account_email, telegram, gotify, ntfy, pushover, discord, webhook, email, sms, app.
data.namestringName
data.statusstringE-Mail und SMS müssen erst bestätigt werden Werte: active, pending_verification.
data.defaultboolean | nullWird bei neuen Healthchecks vorausgewählt
data.optionsobjectEinstellungen je Typ. Geheimnisse sind gekürzt, außer mit include_secrets=true.
data.created_atdatetime | nullAngelegt
data.last_used_atdatetime | nullZuletzt benutzt
data.usesintegerAnzahl Nachrichten

Mögliche Fehler: 401404422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/integrations/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Mit der ID 0 geht die Nachricht an die Account-E-Mail. Höchstens eine pro 30 Sekunden und Integration.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X POST "https://ipv64.net/api/v2/integrations/12/test" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.sentbooleanGesendet

Mögliche Fehler: 401404409429 Fehlercodes

DNS-Failover

Policies schalten Records automatisch auf ein Ersatzziel, wenn Healthchecks ausfallen. {id} ist die Policy-ID.

Beispiel
curl "https://ipv64.net/api/v2/failover/policies" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringPolicy-ID (16 Zeichen)
data[].namestringName
data[].statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data[].manualbooleanLetzte Umschaltung war manuell
data[].modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data[].fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data[].linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data[].notifications_enabledbooleanBenachrichtigungen aktiv
data[].integrationsinteger[]Integrationen für Benachrichtigungen
data[].monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data[].last_check_atdatetime | nullLetzte Prüfung
data[].monitorsobject[]
data[].monitors[].healthcheckstringHealthcheck-Token
data[].monitors[].namestringName
data[].monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data[].monitors[].healthcheck_statusstring | nullAktueller Status
data[].rulesobject[]
data[].rules[].recordstringRecord-Token des geschützten Records
data[].rules[].fqdnstring | nullName
data[].rules[].record_typestringA oder AAAA
data[].rules[].statestringZustand Werte: standby, failed_over.
data[].rules[].targetobject
data[].rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data[].rules[].target.ipstringErsatz-IP
data[].rules[].target.recordstringZiel-Record-Token
data[].rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401429 Fehlercodes

Body (JSON)
FeldTypBeschreibung
namestringName
modestringUmschaltverhalten Werte: auto_failover, auto_failover_and_fallback, manual.
fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore UP sind
linkingstringVerknüpfung der Monitore Werte: and, or.
notifications_enabledbooleanBenachrichtigungen
integrationsinteger[]Integrationen, 0 = Account-E-Mail
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Webserver","mode":"auto_failover_and_fallback"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl "https://ipv64.net/api/v2/failover/policies/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401404429 Fehlercodes

linking kann während eines aktiven Failovers nicht geändert werden.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
namestringName
modestringUmschaltverhalten Werte: auto_failover, auto_failover_and_fallback, manual.
fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore UP sind
linkingstringVerknüpfung der Monitore Werte: and, or.
notifications_enabledbooleanBenachrichtigungen
integrationsinteger[]Integrationen, 0 = Account-E-Mail
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/failover/policies/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"notifications_enabled":false}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401404409422429 Fehlercodes

Nicht möglich, solange der Failover aktiv ist.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/failover/policies/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies/12/pause" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies/12/resume" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401404429 Fehlercodes

Nur im Status active.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies/12/failover" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401404409429 Fehlercodes

Nur im Status failed_over.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies/12/fallback" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401404409429 Fehlercodes

Ein Healthcheck, der den Failover auslöst.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
healthcheckstringPflichtHealthcheck-Token
negatebooleanUmgekehrt werten
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies/12/monitors" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"healthcheck":"Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401403404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/failover/policies/12/monitors/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Schützt einen A- oder AAAA-Record. Als Ziel genau eines angeben: target_ip, target_record oder offline_page. Bei offline_page zeigt der Record im Failover auf die IPv64-Offline-Seite.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
recordstringPflichtRecord-ID oder -Token des geschützten Records
target_ipstringErsatz-IP derselben Familie
target_recordstringAnderer eigener Record, dessen IP übernommen wird
offline_pagestringdefault oder Offline-Page-ID
Beispiel
curl -X POST "https://ipv64.net/api/v2/failover/policies/12/rules" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"record":"4711","target_ip":"198.51.100.5"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringPolicy-ID (16 Zeichen)
data.namestringName
data.statusstringpending = wird eingerichtet, active = überwacht, failed_over = Ersatz aktiv, paused, failover_requested / fallback_requested = Umschaltung läuft Werte: pending, active, failed_over, paused, failover_requested, fallback_requested.
data.manualbooleanLetzte Umschaltung war manuell
data.modestringauto_failover = automatisch umschalten, manuell zurück; auto_failover_and_fallback = beides automatisch; manual = nur manuell Werte: auto_failover, auto_failover_and_fallback, manual.
data.fallback_requires_allbooleanRückschaltung erst, wenn alle Monitore wieder UP sind
data.linkingstringand = alle Monitore müssen DOWN sein, or = einer reicht Werte: and, or.
data.notifications_enabledbooleanBenachrichtigungen aktiv
data.integrationsinteger[]Integrationen für Benachrichtigungen
data.monitors_downintegerAnzahl Monitore, die gerade als DOWN zählen
data.last_check_atdatetime | nullLetzte Prüfung
data.monitorsobject[]
data.monitors[].healthcheckstringHealthcheck-Token
data.monitors[].namestringName
data.monitors[].negatebooleanUmgekehrt werten (UP zählt als DOWN)
data.monitors[].healthcheck_statusstring | nullAktueller Status
data.rulesobject[]
data.rules[].recordstringRecord-Token des geschützten Records
data.rules[].fqdnstring | nullName
data.rules[].record_typestringA oder AAAA
data.rules[].statestringZustand Werte: standby, failed_over.
data.rules[].targetobject
data.rules[].target.kindstringArt des Ziels Werte: ip, record, offline_page.
data.rules[].target.ipstringErsatz-IP
data.rules[].target.recordstringZiel-Record-Token
data.rules[].target.offline_pagestringdefault oder Offline-Page-ID

Mögliche Fehler: 401403404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
recordPfad, stringPflichtRecord-ID oder Record-Token
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/failover/policies/12/rules/4711" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Statusseiten

Öffentliche Statusseiten unter https://ipv64.net/status/<slug>.

Beispiel
curl "https://ipv64.net/api/v2/status-pages" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].namestringTitel
data[].slugstringAdresse hinter /status/
data[].urlstringÖffentliche Adresse
data[].descriptionstringBeschreibung
data[].password_protectedbooleanMit Passwort geschützt
data[].designintegerDesign 1 bis 4
data[].autorefreshbooleanSeite lädt automatisch neu
data[].healthchecksstring[]Angezeigte Healthchecks in dieser Reihenfolge
data[].created_atdatetime | nullAngelegt
data[].last_viewed_atdatetime | nullZuletzt aufgerufen

Mögliche Fehler: 401429 Fehlercodes

Ohne slug wird eine zufällige Adresse vergeben.

Body (JSON)
FeldTypBeschreibung
namestringTitel
descriptionstringBeschreibung
slugstringAdresse, 3 bis 128 Zeichen a-z, A-Z, 0-9
passwordstringPasswort, leer = öffentlich
designintegerDesign Bereich: 1 bis 4.
autorefreshbooleanAutomatisch neu laden
healthchecksstring[]Angezeigte Healthchecks
Beispiel
curl -X POST "https://ipv64.net/api/v2/status-pages" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Mein Status","healthchecks":["Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z"]}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idintegerID
data.namestringTitel
data.slugstringAdresse hinter /status/
data.urlstringÖffentliche Adresse
data.descriptionstringBeschreibung
data.password_protectedbooleanMit Passwort geschützt
data.designintegerDesign 1 bis 4
data.autorefreshbooleanSeite lädt automatisch neu
data.healthchecksstring[]Angezeigte Healthchecks in dieser Reihenfolge
data.created_atdatetime | nullAngelegt
data.last_viewed_atdatetime | nullZuletzt aufgerufen

Mögliche Fehler: 401409422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl "https://ipv64.net/api/v2/status-pages/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerID
data.namestringTitel
data.slugstringAdresse hinter /status/
data.urlstringÖffentliche Adresse
data.descriptionstringBeschreibung
data.password_protectedbooleanMit Passwort geschützt
data.designintegerDesign 1 bis 4
data.autorefreshbooleanSeite lädt automatisch neu
data.healthchecksstring[]Angezeigte Healthchecks in dieser Reihenfolge
data.created_atdatetime | nullAngelegt
data.last_viewed_atdatetime | nullZuletzt aufgerufen

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
namestringTitel
descriptionstringBeschreibung
slugstringAdresse, 3 bis 128 Zeichen a-z, A-Z, 0-9
passwordstringPasswort, leer = öffentlich
designintegerDesign Bereich: 1 bis 4.
autorefreshbooleanAutomatisch neu laden
healthchecksstring[]Angezeigte Healthchecks
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/status-pages/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"meinstatus","design":2}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idintegerID
data.namestringTitel
data.slugstringAdresse hinter /status/
data.urlstringÖffentliche Adresse
data.descriptionstringBeschreibung
data.password_protectedbooleanMit Passwort geschützt
data.designintegerDesign 1 bis 4
data.autorefreshbooleanSeite lädt automatisch neu
data.healthchecksstring[]Angezeigte Healthchecks in dieser Reihenfolge
data.created_atdatetime | nullAngelegt
data.last_viewed_atdatetime | nullZuletzt aufgerufen

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/status-pages/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Offline-Pages

Eigene Wartungsseiten als Ziel für den DNS-Failover. {id} ist die Offline-Page-ID.

Beispiel
curl "https://ipv64.net/api/v2/offline-pages" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringOffline-Page-ID (16 Zeichen)
data[].namestringÜberschrift
data[].domainstringDomain, unter der die Seite erscheint
data[].emailstringKontakt-E-Mail
data[].phonestringTelefon
data[].alternative_urlstringAusweichadresse
data[].textstringText als HTML
data[].icon_urlstring | nullLogo
data[].viewsintegerAufrufe
data[].in_use_by_policystring | nullFailover-Policy, die diese Seite nutzt
data[].activebooleanWird gerade ausgeliefert
data[].preview_urlstringVorschau

Mögliche Fehler: 401429 Fehlercodes

Body (JSON)
FeldTypBeschreibung
namestringÜberschrift
domainstringDomain, für die die Seite gilt
emailstringKontakt-E-Mail
phonestringTelefon, Ziffern und optional führendes +
alternative_urlstringAusweichadresse
textstringText. Zeilenumbrüche bleiben erhalten, HTML wird maskiert.
Beispiel
curl -X POST "https://ipv64.net/api/v2/offline-pages" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Wartungsarbeiten","domain":"www.example.com","text":"Wir sind gleich wieder da."}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringOffline-Page-ID (16 Zeichen)
data.namestringÜberschrift
data.domainstringDomain, unter der die Seite erscheint
data.emailstringKontakt-E-Mail
data.phonestringTelefon
data.alternative_urlstringAusweichadresse
data.textstringText als HTML
data.icon_urlstring | nullLogo
data.viewsintegerAufrufe
data.in_use_by_policystring | nullFailover-Policy, die diese Seite nutzt
data.activebooleanWird gerade ausgeliefert
data.preview_urlstringVorschau

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl "https://ipv64.net/api/v2/offline-pages/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringOffline-Page-ID (16 Zeichen)
data.namestringÜberschrift
data.domainstringDomain, unter der die Seite erscheint
data.emailstringKontakt-E-Mail
data.phonestringTelefon
data.alternative_urlstringAusweichadresse
data.textstringText als HTML
data.icon_urlstring | nullLogo
data.viewsintegerAufrufe
data.in_use_by_policystring | nullFailover-Policy, die diese Seite nutzt
data.activebooleanWird gerade ausgeliefert
data.preview_urlstringVorschau

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
namestringÜberschrift
domainstringDomain, für die die Seite gilt
emailstringKontakt-E-Mail
phonestringTelefon, Ziffern und optional führendes +
alternative_urlstringAusweichadresse
textstringText. Zeilenumbrüche bleiben erhalten, HTML wird maskiert.
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/offline-pages/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Wartung bis 14 Uhr."}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringOffline-Page-ID (16 Zeichen)
data.namestringÜberschrift
data.domainstringDomain, unter der die Seite erscheint
data.emailstringKontakt-E-Mail
data.phonestringTelefon
data.alternative_urlstringAusweichadresse
data.textstringText als HTML
data.icon_urlstring | nullLogo
data.viewsintegerAufrufe
data.in_use_by_policystring | nullFailover-Policy, die diese Seite nutzt
data.activebooleanWird gerade ausgeliefert
data.preview_urlstringVorschau

Mögliche Fehler: 401404422429 Fehlercodes

Nicht möglich, solange eine Failover-Regel sie nutzt.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/offline-pages/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Als multipart/form-data im Feld icon. JPEG, PNG oder WebP, höchstens 1 MB und 1024 x 1024 Pixel.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Body (multipart/form-data)
FeldTypBeschreibung
iconfilePflichtBilddatei
Beispiel
curl -X POST "https://ipv64.net/api/v2/offline-pages/12/icon" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -F "icon=@logo.png"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringOffline-Page-ID (16 Zeichen)
data.namestringÜberschrift
data.domainstringDomain, unter der die Seite erscheint
data.emailstringKontakt-E-Mail
data.phonestringTelefon
data.alternative_urlstringAusweichadresse
data.textstringText als HTML
data.icon_urlstring | nullLogo
data.viewsintegerAufrufe
data.in_use_by_policystring | nullFailover-Policy, die diese Seite nutzt
data.activebooleanWird gerade ausgeliefert
data.preview_urlstringVorschau

Mögliche Fehler: 401404413415422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/offline-pages/12/icon" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

CDN

Reverse Proxy und Portmapper. {token} ist die CDN-ID. Viele Änderungen setzt der CDN-Dienst im Hintergrund um, die Antwort ist dann 202 und pending zeigt den Fortschritt.

Beispiel
curl "https://ipv64.net/api/v2/cdn" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringCDN-ID
data[].domainstring | nullDomain
data[].domain_idintegerDomain-ID
data[].activebooleanCDN aktiv
data[].pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data[].dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data[].serverobject | null
data[].server.namestringName
data[].server.hostnamestringHostname
data[].server.ipv4stringIPv4
data[].server.ipv6stringIPv6
data[].proxyobject
data[].proxy.statestringReverse Proxy Werte: off, on, disabling.
data[].proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data[].proxy.backendobject
data[].proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data[].proxy.backend.portintegerPort deines Servers
data[].proxy.websocketbooleanWebSocket-Unterstützung
data[].proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data[].proxy.cachingobject
data[].proxy.caching.enabledbooleanCache aktiv
data[].proxy.caching.time_minutesintegerCache-Dauer
data[].proxy.caching.size_mbintegerCache-Größe
data[].proxy.access_listobject
data[].proxy.access_list.enabledbooleanZugriffsliste aktiv
data[].proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data[].portmapperobject
data[].portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data[].traffic_mbobject
data[].traffic_mb.innumberEingehend
data[].traffic_mb.outnumberAusgehend
data[].created_atdatetime | nullAngelegt

Mögliche Fehler: 401429 Fehlercodes

Danach wird automatisch ein CDN-Server zugewiesen.

Body (JSON)
FeldTypBeschreibung
domainstringPflichtDomain-ID oder Name
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"beispiel.ipv64.de"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.mappingsobject[]
data.mappings[].idstringMapping-ID
data.mappings[].namestringName
data.mappings[].listen_portintegerÖffentlicher Port am CDN-Server
data.mappings[].transportstringProtokoll Werte: tcp, udp.
data.mappings[].target_portintegerPort bei dir
data.mappings[].recordstringRecord-Token des Ziels
data.mappings[].fqdnstring | nullName des Ziels

Mögliche Fehler: 401403409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.mappingsobject[]
data.mappings[].idstringMapping-ID
data.mappings[].namestringName
data.mappings[].listen_portintegerÖffentlicher Port am CDN-Server
data.mappings[].transportstringProtokoll Werte: tcp, udp.
data.mappings[].target_portintegerPort bei dir
data.mappings[].recordstringRecord-Token des Ziels
data.mappings[].fqdnstring | nullName des Ziels

Mögliche Fehler: 401404429 Fehlercodes

Nur mitgeschickte Felder werden geändert. HTTPS im Frontend stösst automatisch ein Let's-Encrypt-Zertifikat an.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
frontendstringFrontend Werte: http, https_redirect, http_and_https.
backend_schemestringProtokoll zu deinem Server Werte: http, https.
backend_portintegerPort deines Servers Bereich: 1 bis 65535.
websocketbooleanWebSocket, nur bei aktivem Proxy
cachingobject
caching.enabledbooleanCache
caching.time_minutesinteger1 bis 600
caching.size_mbinteger1 bis Paketlimit
access_listobject
access_list.enabledbooleanZugriffsliste
access_list.modestringallowlist oder denylist Werte: allowlist, denylist.
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"frontend":"https_redirect","backend_port":8080,"caching":{"enabled":true,"time_minutes":60,"size_mb":100}}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.mappingsobject[]
data.mappings[].idstringMapping-ID
data.mappings[].namestringName
data.mappings[].listen_portintegerÖffentlicher Port am CDN-Server
data.mappings[].transportstringProtokoll Werte: tcp, udp.
data.mappings[].target_portintegerPort bei dir
data.mappings[].recordstringRecord-Token des Ziels
data.mappings[].fqdnstring | nullName des Ziels

Mögliche Fehler: 401403404409422429 Fehlercodes

Vorher das CDN für alle Records abschalten.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401404409429 Fehlercodes

Mindestens ein Record muss über das CDN laufen.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/proxy/enable" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401403404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/proxy/disable" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401403404409429 Fehlercodes

Mindestens ein Record muss über das CDN laufen.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/portmapper/enable" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401403404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/portmapper/disable" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401403404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/redeploy" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401403404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/reset-traffic" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/move" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401403404409429 Fehlercodes

Nur bei aktivem Proxy mit HTTPS-Frontend.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/renew-certificate" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringCDN-ID
data.domainstring | nullDomain
data.domain_idintegerDomain-ID
data.activebooleanCDN aktiv
data.pendingstring[]Offene Arbeiten des CDN-Bots Werte: server_assignment, dns, config_deploy, certificate, server_move, deletion.
data.dns_records_enabledbooleanMindestens ein Record läuft über das CDN
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.ipv4stringIPv4
data.server.ipv6stringIPv6
data.proxyobject
data.proxy.statestringReverse Proxy Werte: off, on, disabling.
data.proxy.frontendstring | nullhttp, https_redirect (HTTP wird auf HTTPS umgeleitet) oder http_and_https Werte: http, https_redirect, http_and_https.
data.proxy.backendobject
data.proxy.backend.schemestringProtokoll zu deinem Server Werte: http, https.
data.proxy.backend.portintegerPort deines Servers
data.proxy.websocketbooleanWebSocket-Unterstützung
data.proxy.certificatestringZertifikat Werte: default, letsencrypt, issuing.
data.proxy.cachingobject
data.proxy.caching.enabledbooleanCache aktiv
data.proxy.caching.time_minutesintegerCache-Dauer
data.proxy.caching.size_mbintegerCache-Größe
data.proxy.access_listobject
data.proxy.access_list.enabledbooleanZugriffsliste aktiv
data.proxy.access_list.modestringallowlist = nur Einträge erlaubt, denylist = Einträge gesperrt Werte: allowlist, denylist.
data.portmapperobject
data.portmapper.statestringPortmapper Werte: off, on, disabling, suspended_traffic_limit.
data.traffic_mbobject
data.traffic_mb.innumberEingehend
data.traffic_mb.outnumberAusgehend
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/records" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerRecord-ID
data[].domain_idintegerDomain-ID
data[].domainstringDomain
data[].prefixstringPräfix, leer = Domain selbst
data[].fqdnstringVollständiger Name
data[].typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data[].contentstringInhalt
data[].ttlintegerTTL in Sekunden
data[].statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data[].pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data[].tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data[].updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404429 Fehlercodes

full: der Name zeigt komplett auf das CDN. other_family_only: der Record bleibt direkt erreichbar und das CDN liefert nur die andere Adressfamilie, zum Beispiel IPv4 für einen reinen IPv6-Anschluss. other_family_only geht nur, wenn der Record der einzige auf seinem Präfix ist.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
recordPfad, stringPflichtRecord-ID oder Record-Token
Body (JSON)
FeldTypBeschreibung
modestringModus Werte: full, other_family_only.
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/records/4711/enable" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"other_family_only"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerRecord-ID
data.domain_idintegerDomain-ID
data.domainstringDomain
data.prefixstringPräfix, leer = Domain selbst
data.fqdnstringVollständiger Name
data.typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.contentstringInhalt
data.ttlintegerTTL in Sekunden
data.statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
recordPfad, stringPflichtRecord-ID oder Record-Token
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/records/4711/disable" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerRecord-ID
data.domain_idintegerDomain-ID
data.domainstringDomain
data.prefixstringPräfix, leer = Domain selbst
data.fqdnstringVollständiger Name
data.typestringRecord-Typ Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, TLSA, CAA.
data.contentstringInhalt
data.ttlintegerTTL in Sekunden
data.statestringactive, inactive, cdn_record (vom CDN verwaltet), cdn_proxied / cdn_partial (läuft über das CDN), failover_record (temporärer Ersatz), failover_replaced (durch Failover ersetzt) Werte: active, inactive, cdn_record, cdn_proxied, cdn_partial, failover_record, failover_replaced.
data.pending_dnsbooleanÄnderung wird noch an die Nameserver übertragen
data.tokenstringRecord-Token. Bleibt bei IP-Änderungen gleich und kann statt der ID verwendet werden.
data.updated_atdatetime | nullLetzte Änderung

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/mappings" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringMapping-ID
data[].namestringName
data[].listen_portintegerÖffentlicher Port am CDN-Server
data[].transportstringProtokoll Werte: tcp, udp.
data[].target_portintegerPort bei dir
data[].recordstringRecord-Token des Ziels
data[].fqdnstring | nullName des Ziels

Mögliche Fehler: 401404429 Fehlercodes

Leitet einen öffentlichen Port des CDN-Servers auf einen Port bei dir weiter. Ohne listen_port wird ein freier Port zwischen 50000 und 62000 vergeben. Für A und AAAA desselben Namens mit gleichem Ziel-Port wird derselbe Port verwendet.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
recordstringPflichtRecord-ID oder -Token, der über das CDN läuft
target_portintegerPflichtPort bei dir Bereich: 1 bis 65535.
transportstringProtokoll Werte: tcp, udp.
namestringName
listen_portintegerWunsch-Port Bereich: 50000 bis 62000.
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/mappings" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"record":"4711","target_port":25565,"transport":"tcp","name":"Minecraft"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringMapping-ID
data.namestringName
data.listen_portintegerÖffentlicher Port am CDN-Server
data.transportstringProtokoll Werte: tcp, udp.
data.target_portintegerPort bei dir
data.recordstringRecord-Token des Ziels
data.fqdnstring | nullName des Ziels

Mögliche Fehler: 401403404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
mappingPfad, stringPflichtMapping-ID
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/mappings/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/access-list" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].addressstringIP oder Netz

Mögliche Fehler: 401404429 Fehlercodes

Ob die Liste erlaubt oder sperrt, steht in proxy.access_list.mode.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
addressstringPflichtIP oder Netz in CIDR
Beispiel
curl -X POST "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/access-list" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"198.51.100.0/24"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idintegerID
data.addressstringIP oder Netz

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/cdn/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/access-list/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Cloud Router

WireGuard-Router mit Gateways, Routing, Firewall und öffentlichen IPv6-Adressen. Fast alle Änderungen setzt der VPN-Dienst im Hintergrund um (202).

Beispiel
curl "https://ipv64.net/api/v2/cloud-routers" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringRouter-ID
data[].namestringName
data[].vrfstringInterner VRF-Name
data[].traffic_limitedbooleanDurch Traffic-Limit gesperrt
data[].gatewaysobject[]
data[].gateways[].idstringGateway-ID
data[].gateways[].namestringName
data[].gateways[].statestringZustand Werte: ready, creating, applying, deleting.
data[].gateways[].disabledbooleanDeaktiviert
data[].gateways[].traffic_limitedbooleanDurch Traffic-Limit gesperrt
data[].gateways[].serverobject | null
data[].gateways[].server.namestringName
data[].gateways[].server.hostnamestringHostname
data[].gateways[].server.locationstringStandort
data[].gateways[].listen_portinteger | nullWireGuard-Port am Server
data[].gateways[].ipv4string | nullGateway-Adresse IPv4 (CIDR)
data[].gateways[].ipv6string | nullGateway-Adresse IPv6 (CIDR)
data[].gateways[].public_keystring | nullÖffentlicher Schlüssel
data[].gateways[].ospfobject | null
data[].gateways[].ospf.area_idstringArea
data[].gateways[].ospf.ospf_versionintegerVersion
data[].gateways[].ospf.costintegerKosten
data[].gateways[].traffic_bytesobject
data[].gateways[].traffic_bytes.innumberEingehend
data[].gateways[].traffic_bytes.outnumberAusgehend
data[].gateways[].created_atdatetime | nullAngelegt
data[].gateways[].peersobject[]Nur in der Detailansicht
data[].gateways[].peers[].idstringPeer-ID
data[].gateways[].peers[].namestringName
data[].gateways[].peers[].statestringZustand Werte: ready, applying, deleting.
data[].gateways[].peers[].disabledbooleanDeaktiviert
data[].gateways[].peers[].site_to_sitebooleanAls Site-to-Site markiert
data[].gateways[].peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data[].gateways[].peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data[].gateways[].peers[].dns_serverstring | nullDNS-Server in der Client-Config
data[].gateways[].peers[].endpointstring | nullFester Endpunkt des Peers
data[].gateways[].peers[].endpoint_portinteger | nullPort des Endpunkts
data[].gateways[].peers[].keepalivestringKeepalive hh:mm:ss
data[].gateways[].peers[].public_keystring | nullÖffentlicher Schlüssel
data[].gateways[].peers[].has_preshared_keybooleanPreshared Key gesetzt
data[].gateways[].peers[].current_endpointstring | nullZuletzt gesehene Adresse
data[].gateways[].peers[].last_handshakestring | nullLetzter Handshake
data[].gateways[].peers[].traffic_bytesobject
data[].gateways[].peers[].traffic_bytes.innumberEingehend
data[].gateways[].peers[].traffic_bytes.outnumberAusgehend
data[].gateways[].peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data[].gateways[].peers[].allowed_ips[].idintegerID
data[].gateways[].peers[].allowed_ips[].networkstringNetz
data[].public_ipsobject[]Nur in der Detailansicht
data[].public_ips[].idintegerID
data[].public_ips[].ipstringAdresse
data[].public_ips[].typestringFamilie
data[].public_ips[].disabledbooleanDeaktiviert
data[].public_ips[].statestringZustand Werte: ready, applying.
data[].public_ips[].created_atdatetime | nullAngelegt

Mögliche Fehler: 401429 Fehlercodes

Legt Router und erstes Gateway an.

Body (JSON)
FeldTypBeschreibung
namestringName
Beispiel
curl -X POST "https://ipv64.net/api/v2/cloud-routers" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Home Lab"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringRouter-ID
data.namestringName
data.vrfstringInterner VRF-Name
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.gatewaysobject[]
data.gateways[].idstringGateway-ID
data.gateways[].namestringName
data.gateways[].statestringZustand Werte: ready, creating, applying, deleting.
data.gateways[].disabledbooleanDeaktiviert
data.gateways[].traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.gateways[].serverobject | null
data.gateways[].server.namestringName
data.gateways[].server.hostnamestringHostname
data.gateways[].server.locationstringStandort
data.gateways[].listen_portinteger | nullWireGuard-Port am Server
data.gateways[].ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.gateways[].ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.gateways[].public_keystring | nullÖffentlicher Schlüssel
data.gateways[].ospfobject | null
data.gateways[].ospf.area_idstringArea
data.gateways[].ospf.ospf_versionintegerVersion
data.gateways[].ospf.costintegerKosten
data.gateways[].traffic_bytesobject
data.gateways[].traffic_bytes.innumberEingehend
data.gateways[].traffic_bytes.outnumberAusgehend
data.gateways[].created_atdatetime | nullAngelegt
data.gateways[].peersobject[]Nur in der Detailansicht
data.gateways[].peers[].idstringPeer-ID
data.gateways[].peers[].namestringName
data.gateways[].peers[].statestringZustand Werte: ready, applying, deleting.
data.gateways[].peers[].disabledbooleanDeaktiviert
data.gateways[].peers[].site_to_sitebooleanAls Site-to-Site markiert
data.gateways[].peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.gateways[].peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.gateways[].peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.gateways[].peers[].endpointstring | nullFester Endpunkt des Peers
data.gateways[].peers[].endpoint_portinteger | nullPort des Endpunkts
data.gateways[].peers[].keepalivestringKeepalive hh:mm:ss
data.gateways[].peers[].public_keystring | nullÖffentlicher Schlüssel
data.gateways[].peers[].has_preshared_keybooleanPreshared Key gesetzt
data.gateways[].peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.gateways[].peers[].last_handshakestring | nullLetzter Handshake
data.gateways[].peers[].traffic_bytesobject
data.gateways[].peers[].traffic_bytes.innumberEingehend
data.gateways[].peers[].traffic_bytes.outnumberAusgehend
data.gateways[].peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.gateways[].peers[].allowed_ips[].idintegerID
data.gateways[].peers[].allowed_ips[].networkstringNetz
data.public_ipsobject[]Nur in der Detailansicht
data.public_ips[].idintegerID
data.public_ips[].ipstringAdresse
data.public_ips[].typestringFamilie
data.public_ips[].disabledbooleanDeaktiviert
data.public_ips[].statestringZustand Werte: ready, applying.
data.public_ips[].created_atdatetime | nullAngelegt

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringRouter-ID
data.namestringName
data.vrfstringInterner VRF-Name
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.gatewaysobject[]
data.gateways[].idstringGateway-ID
data.gateways[].namestringName
data.gateways[].statestringZustand Werte: ready, creating, applying, deleting.
data.gateways[].disabledbooleanDeaktiviert
data.gateways[].traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.gateways[].serverobject | null
data.gateways[].server.namestringName
data.gateways[].server.hostnamestringHostname
data.gateways[].server.locationstringStandort
data.gateways[].listen_portinteger | nullWireGuard-Port am Server
data.gateways[].ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.gateways[].ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.gateways[].public_keystring | nullÖffentlicher Schlüssel
data.gateways[].ospfobject | null
data.gateways[].ospf.area_idstringArea
data.gateways[].ospf.ospf_versionintegerVersion
data.gateways[].ospf.costintegerKosten
data.gateways[].traffic_bytesobject
data.gateways[].traffic_bytes.innumberEingehend
data.gateways[].traffic_bytes.outnumberAusgehend
data.gateways[].created_atdatetime | nullAngelegt
data.gateways[].peersobject[]Nur in der Detailansicht
data.gateways[].peers[].idstringPeer-ID
data.gateways[].peers[].namestringName
data.gateways[].peers[].statestringZustand Werte: ready, applying, deleting.
data.gateways[].peers[].disabledbooleanDeaktiviert
data.gateways[].peers[].site_to_sitebooleanAls Site-to-Site markiert
data.gateways[].peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.gateways[].peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.gateways[].peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.gateways[].peers[].endpointstring | nullFester Endpunkt des Peers
data.gateways[].peers[].endpoint_portinteger | nullPort des Endpunkts
data.gateways[].peers[].keepalivestringKeepalive hh:mm:ss
data.gateways[].peers[].public_keystring | nullÖffentlicher Schlüssel
data.gateways[].peers[].has_preshared_keybooleanPreshared Key gesetzt
data.gateways[].peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.gateways[].peers[].last_handshakestring | nullLetzter Handshake
data.gateways[].peers[].traffic_bytesobject
data.gateways[].peers[].traffic_bytes.innumberEingehend
data.gateways[].peers[].traffic_bytes.outnumberAusgehend
data.gateways[].peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.gateways[].peers[].allowed_ips[].idintegerID
data.gateways[].peers[].allowed_ips[].networkstringNetz
data.public_ipsobject[]Nur in der Detailansicht
data.public_ips[].idintegerID
data.public_ips[].ipstringAdresse
data.public_ips[].typestringFamilie
data.public_ips[].disabledbooleanDeaktiviert
data.public_ips[].statestringZustand Werte: ready, applying.
data.public_ips[].created_atdatetime | nullAngelegt

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Buero"}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringRouter-ID
data.namestringName
data.vrfstringInterner VRF-Name
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.gatewaysobject[]
data.gateways[].idstringGateway-ID
data.gateways[].namestringName
data.gateways[].statestringZustand Werte: ready, creating, applying, deleting.
data.gateways[].disabledbooleanDeaktiviert
data.gateways[].traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.gateways[].serverobject | null
data.gateways[].server.namestringName
data.gateways[].server.hostnamestringHostname
data.gateways[].server.locationstringStandort
data.gateways[].listen_portinteger | nullWireGuard-Port am Server
data.gateways[].ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.gateways[].ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.gateways[].public_keystring | nullÖffentlicher Schlüssel
data.gateways[].ospfobject | null
data.gateways[].ospf.area_idstringArea
data.gateways[].ospf.ospf_versionintegerVersion
data.gateways[].ospf.costintegerKosten
data.gateways[].traffic_bytesobject
data.gateways[].traffic_bytes.innumberEingehend
data.gateways[].traffic_bytes.outnumberAusgehend
data.gateways[].created_atdatetime | nullAngelegt
data.gateways[].peersobject[]Nur in der Detailansicht
data.gateways[].peers[].idstringPeer-ID
data.gateways[].peers[].namestringName
data.gateways[].peers[].statestringZustand Werte: ready, applying, deleting.
data.gateways[].peers[].disabledbooleanDeaktiviert
data.gateways[].peers[].site_to_sitebooleanAls Site-to-Site markiert
data.gateways[].peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.gateways[].peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.gateways[].peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.gateways[].peers[].endpointstring | nullFester Endpunkt des Peers
data.gateways[].peers[].endpoint_portinteger | nullPort des Endpunkts
data.gateways[].peers[].keepalivestringKeepalive hh:mm:ss
data.gateways[].peers[].public_keystring | nullÖffentlicher Schlüssel
data.gateways[].peers[].has_preshared_keybooleanPreshared Key gesetzt
data.gateways[].peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.gateways[].peers[].last_handshakestring | nullLetzter Handshake
data.gateways[].peers[].traffic_bytesobject
data.gateways[].peers[].traffic_bytes.innumberEingehend
data.gateways[].peers[].traffic_bytes.outnumberAusgehend
data.gateways[].peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.gateways[].peers[].allowed_ips[].idintegerID
data.gateways[].peers[].allowed_ips[].networkstringNetz
data.public_ipsobject[]Nur in der Detailansicht
data.public_ips[].idintegerID
data.public_ips[].ipstringAdresse
data.public_ips[].typestringFamilie
data.public_ips[].disabledbooleanDeaktiviert
data.public_ips[].statestringZustand Werte: ready, applying.
data.public_ips[].created_atdatetime | nullAngelegt

Mögliche Fehler: 401404422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
Beispiel
curl -X POST "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/gateways" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Gateway 2"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401403404422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/routes" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].destinationstringZielnetz
data[].gatewaystringNext Hop
data[].distanceintegerDistanz
data[].peerstring | nullPeer-ID
data[].systembooleanVom System angelegt, nicht löschbar
data[].disabledbooleanDeaktiviert
data[].statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404429 Fehlercodes

Statische Route in ein Netz hinter einem Peer.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
destinationstringPflichtZielnetz in CIDR
gatewaystringPflichtNext Hop, gleiche Familie
peerstringPflichtPeer-ID
distanceintegerDistanz Bereich: 1 bis 255.
Beispiel
curl -X POST "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/routes" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destination":"192.168.50.0/24","gateway":"10.7.0.2","peer":"Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.destinationstringZielnetz
data.gatewaystringNext Hop
data.distanceintegerDistanz
data.peerstring | nullPeer-ID
data.systembooleanVom System angelegt, nicht löschbar
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
disabledbooleanDeaktiviert
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/routes/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"disabled":true}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.destinationstringZielnetz
data.gatewaystringNext Hop
data.distanceintegerDistanz
data.peerstring | nullPeer-ID
data.systembooleanVom System angelegt, nicht löschbar
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404409422429 Fehlercodes

Systemrouten können nicht gelöscht werden.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/routes/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.statestringZustand

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/firewall" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].chainstringKette Werte: forward, input, output.
data[].actionstringAktion Werte: accept, drop.
data[].familystringFamilie Werte: ipv4, ipv6.
data[].sourcestring | nullQuelle
data[].destinationstring | nullZiel
data[].disabledbooleanDeaktiviert
data[].statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404429 Fehlercodes

source und destination müssen zur selben Familie gehören. Mindestens eines davon ist Pflicht.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
chainstringPflichtKette Werte: forward, input, output.
actionstringPflichtAktion Werte: accept, drop.
sourcestringQuelle als IP oder CIDR
destinationstringZiel als IP oder CIDR
Beispiel
curl -X POST "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/firewall" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chain":"forward","action":"drop","source":"10.7.0.5","destination":"192.168.50.0/24"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.chainstringKette Werte: forward, input, output.
data.actionstringAktion Werte: accept, drop.
data.familystringFamilie Werte: ipv4, ipv6.
data.sourcestring | nullQuelle
data.destinationstring | nullZiel
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
disabledbooleanDeaktiviert
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/firewall/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"disabled":true}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.chainstringKette Werte: forward, input, output.
data.actionstringAktion Werte: accept, drop.
data.familystringFamilie Werte: ipv4, ipv6.
data.sourcestring | nullQuelle
data.destinationstring | nullZiel
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/firewall/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.statestringZustand

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/public-ips" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].ipstringAdresse
data[].typestringFamilie
data[].disabledbooleanDeaktiviert
data[].statestringZustand Werte: ready, applying.
data[].created_atdatetime | nullAngelegt

Mögliche Fehler: 401404429 Fehlercodes

Höchstens eine IPv6 je Router. Die Adresse wird zufällig aus dem Netz des VPN-Servers vergeben.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/public-ips" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.ipstringAdresse
data.typestringFamilie
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying.
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
disabledbooleanDeaktiviert
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/public-ips/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"disabled":true}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.ipstringAdresse
data.typestringFamilie
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying.
data.created_atdatetime | nullAngelegt

Mögliche Fehler: 401404409422429 Fehlercodes

Port-Forwards auf diese IP werden neu eingerichtet.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/cloud-routers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/public-ips/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.statestringZustand

Mögliche Fehler: 401404409429 Fehlercodes

Gateways

WireGuard-Gateways eines Cloud Routers. {token} ist die Gateway-ID. Während ein Gateway eingerichtet wird, antworten Änderungen mit 409 gateway_busy und retry_after.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404429 Fehlercodes

Adressen in CIDR-Schreibweise. Leerer String entfernt die Adresse.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
ipv4stringGateway-Adresse IPv4
ipv6stringGateway-Adresse IPv6
disabledbooleanGateway deaktivieren
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ipv4":"10.7.0.1/24"}'
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409429 Fehlercodes

Danach müssen alle Peers die neue Konfiguration erhalten.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/rotate-keys" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/reset-traffic" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
area_idstringArea
versionintegerOSPF-Version Bereich: 2 bis 3.
costintegerKosten Bereich: 1 bis 256.
Beispiel
curl -X PUT "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/ospf" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_id":"0.0.0.0","version":2,"cost":10}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/ospf" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringGateway-ID
data.namestringName
data.statestringZustand Werte: ready, creating, applying, deleting.
data.disabledbooleanDeaktiviert
data.traffic_limitedbooleanDurch Traffic-Limit gesperrt
data.serverobject | null
data.server.namestringName
data.server.hostnamestringHostname
data.server.locationstringStandort
data.listen_portinteger | nullWireGuard-Port am Server
data.ipv4string | nullGateway-Adresse IPv4 (CIDR)
data.ipv6string | nullGateway-Adresse IPv6 (CIDR)
data.public_keystring | nullÖffentlicher Schlüssel
data.ospfobject | null
data.ospf.area_idstringArea
data.ospf.ospf_versionintegerVersion
data.ospf.costintegerKosten
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.created_atdatetime | nullAngelegt
data.peersobject[]Nur in der Detailansicht
data.peers[].idstringPeer-ID
data.peers[].namestringName
data.peers[].statestringZustand Werte: ready, applying, deleting.
data.peers[].disabledbooleanDeaktiviert
data.peers[].site_to_sitebooleanAls Site-to-Site markiert
data.peers[].ipv4string | nullTunnel-IPv4 (CIDR)
data.peers[].ipv6string | nullTunnel-IPv6 (CIDR)
data.peers[].dns_serverstring | nullDNS-Server in der Client-Config
data.peers[].endpointstring | nullFester Endpunkt des Peers
data.peers[].endpoint_portinteger | nullPort des Endpunkts
data.peers[].keepalivestringKeepalive hh:mm:ss
data.peers[].public_keystring | nullÖffentlicher Schlüssel
data.peers[].has_preshared_keybooleanPreshared Key gesetzt
data.peers[].current_endpointstring | nullZuletzt gesehene Adresse
data.peers[].last_handshakestring | nullLetzter Handshake
data.peers[].traffic_bytesobject
data.peers[].traffic_bytes.innumberEingehend
data.peers[].traffic_bytes.outnumberAusgehend
data.peers[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.peers[].allowed_ips[].idintegerID
data.peers[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/port-forwards" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idintegerID
data[].namestringName
data[].destinationstringZiel-IP im Tunnel
data[].target_portintegerZiel-Port
data[].protocolstringProtokoll Werte: tcp, udp.
data[].public_portinteger | nullVom Server vergebener öffentlicher Port
data[].public_ipstringserver = Adresse des VPN-Servers, router = öffentliche IP des Routers Werte: server, router.
data[].disabledbooleanDeaktiviert
data[].statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404429 Fehlercodes

Den öffentlichen Port vergibt der Server, er steht danach in public_port.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
destinationstringPflichtZiel-IP im Tunnel
target_portintegerPflichtZiel-Port Bereich: 1 bis 65499.
protocolstringPflichtProtokoll Werte: tcp, udp.
namestringName
public_ipstringserver oder router (öffentliche IP des Routers, vorher anlegen) Werte: server, router.
Beispiel
curl -X POST "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/port-forwards" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destination":"10.7.0.2","target_port":443,"protocol":"tcp","name":"Webserver"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.namestringName
data.destinationstringZiel-IP im Tunnel
data.target_portintegerZiel-Port
data.protocolstringProtokoll Werte: tcp, udp.
data.public_portinteger | nullVom Server vergebener öffentlicher Port
data.public_ipstringserver = Adresse des VPN-Servers, router = öffentliche IP des Routers Werte: server, router.
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Body (JSON)
FeldTypBeschreibung
disabledbooleanDeaktiviert
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/port-forwards/12" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"disabled":true}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.namestringName
data.destinationstringZiel-IP im Tunnel
data.target_portintegerZiel-Port
data.protocolstringProtokoll Werte: tcp, udp.
data.public_portinteger | nullVom Server vergebener öffentlicher Port
data.public_ipstringserver = Adresse des VPN-Servers, router = öffentliche IP des Routers Werte: server, router.
data.disabledbooleanDeaktiviert
data.statestringZustand Werte: ready, applying, deleting.

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/port-forwards/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idintegerID
data.statestringZustand

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/peers" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringPeer-ID
data[].namestringName
data[].statestringZustand Werte: ready, applying, deleting.
data[].disabledbooleanDeaktiviert
data[].site_to_sitebooleanAls Site-to-Site markiert
data[].ipv4string | nullTunnel-IPv4 (CIDR)
data[].ipv6string | nullTunnel-IPv6 (CIDR)
data[].dns_serverstring | nullDNS-Server in der Client-Config
data[].endpointstring | nullFester Endpunkt des Peers
data[].endpoint_portinteger | nullPort des Endpunkts
data[].keepalivestringKeepalive hh:mm:ss
data[].public_keystring | nullÖffentlicher Schlüssel
data[].has_preshared_keybooleanPreshared Key gesetzt
data[].current_endpointstring | nullZuletzt gesehene Adresse
data[].last_handshakestring | nullLetzter Handshake
data[].traffic_bytesobject
data[].traffic_bytes.innumberEingehend
data[].traffic_bytes.outnumberAusgehend
data[].allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data[].allowed_ips[].idintegerID
data[].allowed_ips[].networkstringNetz

Mögliche Fehler: 401404429 Fehlercodes

Schlüssel und Adressen werden automatisch vergeben.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
Beispiel
curl -X POST "https://ipv64.net/api/v2/gateways/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/peers" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Laptop"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401403404409422429 Fehlercodes

Peers

WireGuard-Peers. {token} ist die Peer-ID.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404429 Fehlercodes

name und dns_server wirken sofort (200). Alle anderen Felder werden am Gateway umgesetzt (202).

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
dns_serverstringDNS-Server für die Client-Config, leer = keiner
keepalivestringKeepalive hh:mm:ss
endpointstringFester Endpunkt (IP oder Hostname)
endpoint_portintegerPort des Endpunkts Bereich: 0 bis 65535.
ipv4stringTunnel-IPv4 in CIDR
ipv6stringTunnel-IPv6 in CIDR
disabledbooleanDeaktiviert
site_to_sitebooleanSite-to-Site
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keepalive":"00:00:25","dns_server":"1.1.1.1"}'
Antwort 200, 202
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409429 Fehlercodes

Mit dem Header Accept: text/plain kommt die .conf-Datei direkt als Download. Sie enthält den privaten Schlüssel des Peers.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/config" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.peerstringPeer-ID
data.configstringInhalt der .conf-Datei

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/rotate-keys" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/rotate-preshared-key" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409429 Fehlercodes

Ohne private_key wird nur der öffentliche Schlüssel hinterlegt. Die Config enthält dann keinen privaten Schlüssel.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
public_keystringPflichtÖffentlicher Schlüssel (Base64)
private_keystringPrivater Schlüssel, muss passen
preshared_keystringPreshared Key (Base64)
Beispiel
curl -X PUT "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/keys" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"public_key":"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409422429 Fehlercodes

Zusätzliches Netz in der Client-Config, zum Beispiel ein Netz hinter einem anderen Peer.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
networkstringPflichtIP oder Netz in CIDR
Beispiel
curl -X POST "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/allowed-ips" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"192.168.50.0/24"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idstringPeer-ID
data.namestringName
data.statestringZustand Werte: ready, applying, deleting.
data.disabledbooleanDeaktiviert
data.site_to_sitebooleanAls Site-to-Site markiert
data.ipv4string | nullTunnel-IPv4 (CIDR)
data.ipv6string | nullTunnel-IPv6 (CIDR)
data.dns_serverstring | nullDNS-Server in der Client-Config
data.endpointstring | nullFester Endpunkt des Peers
data.endpoint_portinteger | nullPort des Endpunkts
data.keepalivestringKeepalive hh:mm:ss
data.public_keystring | nullÖffentlicher Schlüssel
data.has_preshared_keybooleanPreshared Key gesetzt
data.current_endpointstring | nullZuletzt gesehene Adresse
data.last_handshakestring | nullLetzter Handshake
data.traffic_bytesobject
data.traffic_bytes.innumberEingehend
data.traffic_bytes.outnumberAusgehend
data.allowed_ipsobject[]Nur in der Detailansicht: zusätzliche AllowedIPs der Client-Config
data.allowed_ips[].idintegerID
data.allowed_ips[].networkstringNetz

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/peers/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/allowed-ips/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

DNS64

Persönliche DNS-Resolver mit DNS64, DoH, DoT, DoQ und Blocklisten. {token} ist die Client-ID.

Beispiel
curl "https://ipv64.net/api/v2/dns64/clients" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstringClient-ID
data[].namestringName
data[].client_idstring | nullKurzkennung in den Resolver-Adressen
data[].statestringZustand Werte: ready, applying.
data[].blocking_enabledbooleanFilter aktiv
data[].blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
data[].serversobject[]
data[].servers[].locationstringStandort
data[].servers[].hostnamestringHostname
data[].servers[].dohstringDNS over HTTPS
data[].servers[].dotstringDNS over TLS
data[].servers[].doqstringDNS over QUIC
data[].servers[].ipv6stringPersönliche IPv6 des Resolvers
data[].servers[].ipv4_sharedstringGemeinsame IPv4 (Zuordnung über Quell-Adressen)
data[].servers[].ipv6_sharedstringGemeinsame IPv6
data[].servers[].stampsobject | nullDNS-Stamps, nur in der Detailansicht
data[].servers[].stamps.dohstring
data[].servers[].stamps.dotstring
data[].servers[].stamps.doqstring
data[].queries_totalintegerAnfragen gesamt
data[].queries_blockedintegerDavon blockiert
data[].created_atdatetime | nullAngelegt
data[].rulesobject[]Nur in der Detailansicht: eigene Allow- und Blockliste
data[].rules[].idintegerID
data[].rules[].domainstringDomain
data[].rules[].actionstringAktion Werte: allow, block.
data[].rules[].statestringZustand Werte: ready, applying.
data[].sourcesobject[]Nur in der Detailansicht: Quell-Adressen für die gemeinsamen Resolver-IPs
data[].sources[].idstringNumerische ID bei kind ip, Record-Token bei kind record
data[].sources[].kindstringArt Werte: ip, record.
data[].sources[].addressstringAdresse
data[].sources[].fqdnstringNur bei kind record

Mögliche Fehler: 401429 Fehlercodes

Resolver-Adressen und client_id stehen bereit, sobald state ready ist.

Body (JSON)
FeldTypBeschreibung
namestringName
Beispiel
curl -X POST "https://ipv64.net/api/v2/dns64/clients" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Familie"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringClient-ID
data.namestringName
data.client_idstring | nullKurzkennung in den Resolver-Adressen
data.statestringZustand Werte: ready, applying.
data.blocking_enabledbooleanFilter aktiv
data.blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
data.serversobject[]
data.servers[].locationstringStandort
data.servers[].hostnamestringHostname
data.servers[].dohstringDNS over HTTPS
data.servers[].dotstringDNS over TLS
data.servers[].doqstringDNS over QUIC
data.servers[].ipv6stringPersönliche IPv6 des Resolvers
data.servers[].ipv4_sharedstringGemeinsame IPv4 (Zuordnung über Quell-Adressen)
data.servers[].ipv6_sharedstringGemeinsame IPv6
data.servers[].stampsobject | nullDNS-Stamps, nur in der Detailansicht
data.servers[].stamps.dohstring
data.servers[].stamps.dotstring
data.servers[].stamps.doqstring
data.queries_totalintegerAnfragen gesamt
data.queries_blockedintegerDavon blockiert
data.created_atdatetime | nullAngelegt
data.rulesobject[]Nur in der Detailansicht: eigene Allow- und Blockliste
data.rules[].idintegerID
data.rules[].domainstringDomain
data.rules[].actionstringAktion Werte: allow, block.
data.rules[].statestringZustand Werte: ready, applying.
data.sourcesobject[]Nur in der Detailansicht: Quell-Adressen für die gemeinsamen Resolver-IPs
data.sources[].idstringNumerische ID bei kind ip, Record-Token bei kind record
data.sources[].kindstringArt Werte: ip, record.
data.sources[].addressstringAdresse
data.sources[].fqdnstringNur bei kind record

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idstringClient-ID
data.namestringName
data.client_idstring | nullKurzkennung in den Resolver-Adressen
data.statestringZustand Werte: ready, applying.
data.blocking_enabledbooleanFilter aktiv
data.blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
data.serversobject[]
data.servers[].locationstringStandort
data.servers[].hostnamestringHostname
data.servers[].dohstringDNS over HTTPS
data.servers[].dotstringDNS over TLS
data.servers[].doqstringDNS over QUIC
data.servers[].ipv6stringPersönliche IPv6 des Resolvers
data.servers[].ipv4_sharedstringGemeinsame IPv4 (Zuordnung über Quell-Adressen)
data.servers[].ipv6_sharedstringGemeinsame IPv6
data.servers[].stampsobject | nullDNS-Stamps, nur in der Detailansicht
data.servers[].stamps.dohstring
data.servers[].stamps.dotstring
data.servers[].stamps.doqstring
data.queries_totalintegerAnfragen gesamt
data.queries_blockedintegerDavon blockiert
data.created_atdatetime | nullAngelegt
data.rulesobject[]Nur in der Detailansicht: eigene Allow- und Blockliste
data.rules[].idintegerID
data.rules[].domainstringDomain
data.rules[].actionstringAktion Werte: allow, block.
data.rules[].statestringZustand Werte: ready, applying.
data.sourcesobject[]Nur in der Detailansicht: Quell-Adressen für die gemeinsamen Resolver-IPs
data.sources[].idstringNumerische ID bei kind ip, Record-Token bei kind record
data.sources[].kindstringArt Werte: ip, record.
data.sources[].addressstringAdresse
data.sources[].fqdnstringNur bei kind record

Mögliche Fehler: 401404429 Fehlercodes

Die Blocklisten adult und threats gibt es nicht im Free-Paket.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringName
blocking_enabledbooleanFilter aktiv
blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"blocklists":["ads","threats"]}'
Antwort 200, 202
FeldTypBeschreibung
dataobject
data.idstringClient-ID
data.namestringName
data.client_idstring | nullKurzkennung in den Resolver-Adressen
data.statestringZustand Werte: ready, applying.
data.blocking_enabledbooleanFilter aktiv
data.blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
data.serversobject[]
data.servers[].locationstringStandort
data.servers[].hostnamestringHostname
data.servers[].dohstringDNS over HTTPS
data.servers[].dotstringDNS over TLS
data.servers[].doqstringDNS over QUIC
data.servers[].ipv6stringPersönliche IPv6 des Resolvers
data.servers[].ipv4_sharedstringGemeinsame IPv4 (Zuordnung über Quell-Adressen)
data.servers[].ipv6_sharedstringGemeinsame IPv6
data.servers[].stampsobject | nullDNS-Stamps, nur in der Detailansicht
data.servers[].stamps.dohstring
data.servers[].stamps.dotstring
data.servers[].stamps.doqstring
data.queries_totalintegerAnfragen gesamt
data.queries_blockedintegerDavon blockiert
data.created_atdatetime | nullAngelegt
data.rulesobject[]Nur in der Detailansicht: eigene Allow- und Blockliste
data.rules[].idintegerID
data.rules[].domainstringDomain
data.rules[].actionstringAktion Werte: allow, block.
data.rules[].statestringZustand Werte: ready, applying.
data.sourcesobject[]Nur in der Detailansicht: Quell-Adressen für die gemeinsamen Resolver-IPs
data.sources[].idstringNumerische ID bei kind ip, Record-Token bei kind record
data.sources[].kindstringArt Werte: ip, record.
data.sources[].addressstringAdresse
data.sources[].fqdnstringNur bei kind record

Mögliche Fehler: 401403404422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringClient-ID
data.statestringZustand

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
domainstringPflichtDomain
actionstringAktion Werte: allow, block.
Beispiel
curl -X POST "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/rules" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com","action":"block"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringClient-ID
data.namestringName
data.client_idstring | nullKurzkennung in den Resolver-Adressen
data.statestringZustand Werte: ready, applying.
data.blocking_enabledbooleanFilter aktiv
data.blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
data.serversobject[]
data.servers[].locationstringStandort
data.servers[].hostnamestringHostname
data.servers[].dohstringDNS over HTTPS
data.servers[].dotstringDNS over TLS
data.servers[].doqstringDNS over QUIC
data.servers[].ipv6stringPersönliche IPv6 des Resolvers
data.servers[].ipv4_sharedstringGemeinsame IPv4 (Zuordnung über Quell-Adressen)
data.servers[].ipv6_sharedstringGemeinsame IPv6
data.servers[].stampsobject | nullDNS-Stamps, nur in der Detailansicht
data.servers[].stamps.dohstring
data.servers[].stamps.dotstring
data.servers[].stamps.doqstring
data.queries_totalintegerAnfragen gesamt
data.queries_blockedintegerDavon blockiert
data.created_atdatetime | nullAngelegt
data.rulesobject[]Nur in der Detailansicht: eigene Allow- und Blockliste
data.rules[].idintegerID
data.rules[].domainstringDomain
data.rules[].actionstringAktion Werte: allow, block.
data.rules[].statestringZustand Werte: ready, applying.
data.sourcesobject[]Nur in der Detailansicht: Quell-Adressen für die gemeinsamen Resolver-IPs
data.sources[].idstringNumerische ID bei kind ip, Record-Token bei kind record
data.sources[].kindstringArt Werte: ip, record.
data.sources[].addressstringAdresse
data.sources[].fqdnstringNur bei kind record

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/rules/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Damit die gemeinsamen Resolver-IPs Anfragen deinem Client zuordnen. Entweder eine feste ip oder ein eigener A/AAAA-Record, dessen DynDNS-Adresse verfolgt wird. Je Art höchstens 5.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
ipstringFeste IP
recordstringRecord-ID oder -Token
Beispiel
curl -X POST "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/sources" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"record":"4711"}'
Antwort 202
FeldTypBeschreibung
dataobject
data.idstringClient-ID
data.namestringName
data.client_idstring | nullKurzkennung in den Resolver-Adressen
data.statestringZustand Werte: ready, applying.
data.blocking_enabledbooleanFilter aktiv
data.blocklistsstring[]Aktive Blocklisten Werte: ads, adult, threats.
data.serversobject[]
data.servers[].locationstringStandort
data.servers[].hostnamestringHostname
data.servers[].dohstringDNS over HTTPS
data.servers[].dotstringDNS over TLS
data.servers[].doqstringDNS over QUIC
data.servers[].ipv6stringPersönliche IPv6 des Resolvers
data.servers[].ipv4_sharedstringGemeinsame IPv4 (Zuordnung über Quell-Adressen)
data.servers[].ipv6_sharedstringGemeinsame IPv6
data.servers[].stampsobject | nullDNS-Stamps, nur in der Detailansicht
data.servers[].stamps.dohstring
data.servers[].stamps.dotstring
data.servers[].stamps.doqstring
data.queries_totalintegerAnfragen gesamt
data.queries_blockedintegerDavon blockiert
data.created_atdatetime | nullAngelegt
data.rulesobject[]Nur in der Detailansicht: eigene Allow- und Blockliste
data.rules[].idintegerID
data.rules[].domainstringDomain
data.rules[].actionstringAktion Werte: allow, block.
data.rules[].statestringZustand Werte: ready, applying.
data.sourcesobject[]Nur in der Detailansicht: Quell-Adressen für die gemeinsamen Resolver-IPs
data.sources[].idstringNumerische ID bei kind ip, Record-Token bei kind record
data.sources[].kindstringArt Werte: ip, record.
data.sources[].addressstringAdresse
data.sources[].fqdnstringNur bei kind record

Mögliche Fehler: 401403404409422429 Fehlercodes

{id} ist die numerische ID bei festen IPs oder der Record-Token bei Records.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken bzw. ID der Ressource (32 Zeichen)
idPfad, stringPflichtID der Ressource
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/dns64/clients/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/sources/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Healthchecks 2.0

Neue Healthcheck-Welt (ipv64-hub, Node64): Checks mit Messstellen (online bei ipv64, lokal auf einer Node, hybrid), Kanäle, Wartungsfenster, Störungen. Nur für Accounts der neuen Welt; die alten /healthchecks-Pfade bleiben unverändert.

Beispiel
curl "https://ipv64.net/api/v2/hc2/account" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.planstring
data.online_measuring_pointsobject
data.online_measuring_points.usedinteger
data.online_measuring_points.limitintegernull = unbegrenzt
data.checks_per_dayobjectTageskontingent: Online-Messungen je Standort plus Pushes an die Online-Adresse (Tag Europe/Berlin). Erreicht: Online-Checks pausieren bis Mitternacht.
data.checks_per_day.usedintegerheute
data.checks_per_day.limitintegernull = unbegrenzt
data.locations_per_checkinteger
data.sms_per_dayinteger
data.locationsobject[]
data.locations[].codestring
data.locations[].namestring
data.nodesobject
data.nodes.totalinteger
data.nodes.onlineinteger
data.checksinteger

Mögliche Fehler: 401429 Fehlercodes

Beispiel
curl "https://ipv64.net/api/v2/hc2/settings" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject

Mögliche Fehler: 401429 Fehlercodes

Body (JSON)
FeldTypBeschreibung
notify.quiet_enabledboolean
notify.quiet_fromstringHH:MM
notify.quiet_tostringHH:MM
notify.quiet_daysstring1-7, Komma
notify.rate_per_hourinteger0 = unbegrenzt
notify.batch_thresholdinteger
notify.batch_window_secondsinteger
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/hc2/settings" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject

Mögliche Fehler: 401422429 Fehlercodes

Parameter
FeldTypBeschreibung
typeQuery, string
stateQuery, stringup, down, degraded, flapping, paused, pending
executionQuery, stringonline, local, both
node_idQuery, string
tagQuery, string
groupQuery, stringGruppe
qQuery, stringSuche in Name/Ziel
Beispiel
curl "https://ipv64.net/api/v2/hc2/checks" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].namestringName
data[].typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data[].targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data[].paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data[].params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data[].params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data[].params.follow_redirectsbooleanhttp/keyword
data[].params.max_redirectsintegerhttp/keyword
data[].params.keywordstringkeyword: gesuchter Text
data[].params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data[].params.basic_userstringhttp/keyword
data[].params.basic_passwordstringhttp/keyword
data[].params.headersobjecthttp/keyword: zusätzliche Header
data[].params.bodystringhttp/keyword
data[].params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data[].params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data[].params.countintegericmp: Pakete (1-20)
data[].params.max_loss_percentintegericmp
data[].params.max_latency_msintegericmp, 0 = aus
data[].params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data[].params.sendstringtcp: zu sendende Daten
data[].params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data[].params.tlsbooleantcp: TLS nach dem Verbinden
data[].params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data[].params.server_namestringcert: SNI
data[].params.skip_chainbooleancert
data[].params.skip_hostnamebooleancert
data[].params.period_secondsintegerpush: erwarteter Abstand
data[].params.grace_secondsintegerpush: Kulanz
data[].params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data[].params.json_rules[].pathstring
data[].params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data[].params.json_rules[].valuestring
data[].params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data[].params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data[].params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data[].params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data[].params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data[].params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data[].params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data[].interval_secondsintegerIntervall, mindestens 20
data[].retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data[].retriesintegerzusätzliche Versuche vor Alarm (0-10)
data[].connect_timeout_secondsnumberVerbindungs-Timeout
data[].timeout_secondsnumberGesamt-Timeout
data[].invertbooleanErgebnis umkehren
data[].stabilizeintegerMessungen bis Zustandswechsel (1-20)
data[].ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data[].tagsstring[]Tags
data[].groupstringGruppe (frei benannt)
data[].descriptionstringBeschreibung
data[].pausedbooleanpausiert
data[].parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data[].criticalbooleankritisch: ignoriert Ruhezeiten
data[].executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data[].node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data[].nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data[].locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data[].policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data[].notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data[].notify_downbooleanbei Störung benachrichtigen
data[].notify_upbooleanbei Entwarnung benachrichtigen
data[].channelsinteger[]Kanal-IDs; leer = Standardkanäle
data[].repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data[].tokenstringToken
data[].node_namestringName der Node
data[].revisionintegerRevision
data[].created_atdatetimeangelegt
data[].updated_atdatetimegeändert
data[].stateobject
data[].state.statestringup, down, degraded, flapping, paused, pending
data[].state.sincedatetimeseit
data[].state.last_check_atdatetimeletzte Messung
data[].state.last_statusstringup|down
data[].state.last_latency_msnumberLatenz
data[].state.last_reasonstringGrund
data[].state.last_messagestringMeldung
data[].state.down_sincedatetimegestört seit
data[].state.last_push_atdatetimeletzter Push
data[].pushobjectnur bei type push
data[].push.urlstringPush-URL bei ipv64
data[].push.hub_urlstringPush-URL am hub
data[].push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)

Mögliche Fehler: 401429 Fehlercodes

Online-Checks zählen je Standort gegen das Limit und dürfen keine privaten Ziele haben; lokale Checks brauchen eine verknüpfte Node.

Body (JSON)
FeldTypBeschreibung
namestringPflichtName
typestringPflichtTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
params.follow_redirectsbooleanhttp/keyword
params.max_redirectsintegerhttp/keyword
params.keywordstringkeyword: gesuchter Text
params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
params.basic_userstringhttp/keyword
params.basic_passwordstringhttp/keyword
params.headersobjecthttp/keyword: zusätzliche Header
params.bodystringhttp/keyword
params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
params.countintegericmp: Pakete (1-20)
params.max_loss_percentintegericmp
params.max_latency_msintegericmp, 0 = aus
params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
params.sendstringtcp: zu sendende Daten
params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
params.tlsbooleantcp: TLS nach dem Verbinden
params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
params.server_namestringcert: SNI
params.skip_chainbooleancert
params.skip_hostnamebooleancert
params.period_secondsintegerpush: erwarteter Abstand
params.grace_secondsintegerpush: Kulanz
params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
params.json_rules[].pathstringPflicht
params.json_rules[].opstringPflichtWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
params.json_rules[].valuestring
params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
interval_secondsintegerIntervall, mindestens 20
retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
retriesintegerzusätzliche Versuche vor Alarm (0-10)
connect_timeout_secondsnumberVerbindungs-Timeout
timeout_secondsnumberGesamt-Timeout
invertbooleanErgebnis umkehren
stabilizeintegerMessungen bis Zustandswechsel (1-20)
ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
tagsstring[]Tags
groupstringGruppe (frei benannt)
descriptionstringBeschreibung
pausedbooleanpausiert
parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
criticalbooleankritisch: ignoriert Ruhezeiten
executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
notify_degradedbooleanauch bei teilweise gestört benachrichtigen
notify_downbooleanbei Störung benachrichtigen
notify_upbooleanbei Entwarnung benachrichtigen
channelsinteger[]Kanal-IDs; leer = Standardkanäle
repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/checks" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 201
FeldTypBeschreibung
dataobject
data.namestringName
data.typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data.targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data.paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data.params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data.params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data.params.follow_redirectsbooleanhttp/keyword
data.params.max_redirectsintegerhttp/keyword
data.params.keywordstringkeyword: gesuchter Text
data.params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data.params.basic_userstringhttp/keyword
data.params.basic_passwordstringhttp/keyword
data.params.headersobjecthttp/keyword: zusätzliche Header
data.params.bodystringhttp/keyword
data.params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data.params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data.params.countintegericmp: Pakete (1-20)
data.params.max_loss_percentintegericmp
data.params.max_latency_msintegericmp, 0 = aus
data.params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data.params.sendstringtcp: zu sendende Daten
data.params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data.params.tlsbooleantcp: TLS nach dem Verbinden
data.params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data.params.server_namestringcert: SNI
data.params.skip_chainbooleancert
data.params.skip_hostnamebooleancert
data.params.period_secondsintegerpush: erwarteter Abstand
data.params.grace_secondsintegerpush: Kulanz
data.params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data.params.json_rules[].pathstring
data.params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data.params.json_rules[].valuestring
data.params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data.params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data.params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data.params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data.params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data.params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data.params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data.interval_secondsintegerIntervall, mindestens 20
data.retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data.retriesintegerzusätzliche Versuche vor Alarm (0-10)
data.connect_timeout_secondsnumberVerbindungs-Timeout
data.timeout_secondsnumberGesamt-Timeout
data.invertbooleanErgebnis umkehren
data.stabilizeintegerMessungen bis Zustandswechsel (1-20)
data.ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data.tagsstring[]Tags
data.groupstringGruppe (frei benannt)
data.descriptionstringBeschreibung
data.pausedbooleanpausiert
data.parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data.criticalbooleankritisch: ignoriert Ruhezeiten
data.executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data.node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data.nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data.locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data.policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data.notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data.notify_downbooleanbei Störung benachrichtigen
data.notify_upbooleanbei Entwarnung benachrichtigen
data.channelsinteger[]Kanal-IDs; leer = Standardkanäle
data.repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data.tokenstringToken
data.node_namestringName der Node
data.revisionintegerRevision
data.created_atdatetimeangelegt
data.updated_atdatetimegeändert
data.stateobject
data.state.statestringup, down, degraded, flapping, paused, pending
data.state.sincedatetimeseit
data.state.last_check_atdatetimeletzte Messung
data.state.last_statusstringup|down
data.state.last_latency_msnumberLatenz
data.state.last_reasonstringGrund
data.state.last_messagestringMeldung
data.state.down_sincedatetimegestört seit
data.state.last_push_atdatetimeletzter Push
data.pushobjectnur bei type push
data.push.urlstringPush-URL bei ipv64
data.push.hub_urlstringPush-URL am hub
data.push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)
data.sourcesobject[]Zustand je Messstelle
data.sources[].sourcestringloc:nbg, loc:fsn oder node:<id>
data.sources[].labelstringlesbarer Name
data.sources[].statestringZustand dieser Messstelle
data.sources[].sincedatetime
data.sources[].last_check_atdatetime
data.sources[].last_statusstring
data.sources[].last_latency_msnumber
data.sources[].last_reasonstring
data.sources[].last_messagestring
data.sources[].consecutive_failinteger
data.sources[].consecutive_okinteger
data.availability_percentobject
data.availability_percent.24hnumber
data.availability_percent.30dnumber
data.availability_percent.1ynumber

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.namestringName
data.typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data.targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data.paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data.params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data.params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data.params.follow_redirectsbooleanhttp/keyword
data.params.max_redirectsintegerhttp/keyword
data.params.keywordstringkeyword: gesuchter Text
data.params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data.params.basic_userstringhttp/keyword
data.params.basic_passwordstringhttp/keyword
data.params.headersobjecthttp/keyword: zusätzliche Header
data.params.bodystringhttp/keyword
data.params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data.params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data.params.countintegericmp: Pakete (1-20)
data.params.max_loss_percentintegericmp
data.params.max_latency_msintegericmp, 0 = aus
data.params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data.params.sendstringtcp: zu sendende Daten
data.params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data.params.tlsbooleantcp: TLS nach dem Verbinden
data.params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data.params.server_namestringcert: SNI
data.params.skip_chainbooleancert
data.params.skip_hostnamebooleancert
data.params.period_secondsintegerpush: erwarteter Abstand
data.params.grace_secondsintegerpush: Kulanz
data.params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data.params.json_rules[].pathstring
data.params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data.params.json_rules[].valuestring
data.params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data.params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data.params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data.params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data.params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data.params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data.params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data.interval_secondsintegerIntervall, mindestens 20
data.retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data.retriesintegerzusätzliche Versuche vor Alarm (0-10)
data.connect_timeout_secondsnumberVerbindungs-Timeout
data.timeout_secondsnumberGesamt-Timeout
data.invertbooleanErgebnis umkehren
data.stabilizeintegerMessungen bis Zustandswechsel (1-20)
data.ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data.tagsstring[]Tags
data.groupstringGruppe (frei benannt)
data.descriptionstringBeschreibung
data.pausedbooleanpausiert
data.parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data.criticalbooleankritisch: ignoriert Ruhezeiten
data.executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data.node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data.nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data.locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data.policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data.notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data.notify_downbooleanbei Störung benachrichtigen
data.notify_upbooleanbei Entwarnung benachrichtigen
data.channelsinteger[]Kanal-IDs; leer = Standardkanäle
data.repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data.tokenstringToken
data.node_namestringName der Node
data.revisionintegerRevision
data.created_atdatetimeangelegt
data.updated_atdatetimegeändert
data.stateobject
data.state.statestringup, down, degraded, flapping, paused, pending
data.state.sincedatetimeseit
data.state.last_check_atdatetimeletzte Messung
data.state.last_statusstringup|down
data.state.last_latency_msnumberLatenz
data.state.last_reasonstringGrund
data.state.last_messagestringMeldung
data.state.down_sincedatetimegestört seit
data.state.last_push_atdatetimeletzter Push
data.pushobjectnur bei type push
data.push.urlstringPush-URL bei ipv64
data.push.hub_urlstringPush-URL am hub
data.push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)
data.sourcesobject[]Zustand je Messstelle
data.sources[].sourcestringloc:nbg, loc:fsn oder node:<id>
data.sources[].labelstringlesbarer Name
data.sources[].statestringZustand dieser Messstelle
data.sources[].sincedatetime
data.sources[].last_check_atdatetime
data.sources[].last_statusstring
data.sources[].last_latency_msnumber
data.sources[].last_reasonstring
data.sources[].last_messagestring
data.sources[].consecutive_failinteger
data.sources[].consecutive_okinteger
data.availability_percentobject
data.availability_percent.24hnumber
data.availability_percent.30dnumber
data.availability_percent.1ynumber

Mögliche Fehler: 401404429 Fehlercodes

Nur mitgeschickte Felder werden geändert. Eine Änderung von execution/node_id/locations wird nicht direkt übernommen (409 move_requires_test): dafür POST .../move mit Testlauf, oder force_move=true.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringPflichtName
typestringPflichtTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
params.follow_redirectsbooleanhttp/keyword
params.max_redirectsintegerhttp/keyword
params.keywordstringkeyword: gesuchter Text
params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
params.basic_userstringhttp/keyword
params.basic_passwordstringhttp/keyword
params.headersobjecthttp/keyword: zusätzliche Header
params.bodystringhttp/keyword
params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
params.countintegericmp: Pakete (1-20)
params.max_loss_percentintegericmp
params.max_latency_msintegericmp, 0 = aus
params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
params.sendstringtcp: zu sendende Daten
params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
params.tlsbooleantcp: TLS nach dem Verbinden
params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
params.server_namestringcert: SNI
params.skip_chainbooleancert
params.skip_hostnamebooleancert
params.period_secondsintegerpush: erwarteter Abstand
params.grace_secondsintegerpush: Kulanz
params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
params.json_rules[].pathstringPflicht
params.json_rules[].opstringPflichtWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
params.json_rules[].valuestring
params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
interval_secondsintegerIntervall, mindestens 20
retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
retriesintegerzusätzliche Versuche vor Alarm (0-10)
connect_timeout_secondsnumberVerbindungs-Timeout
timeout_secondsnumberGesamt-Timeout
invertbooleanErgebnis umkehren
stabilizeintegerMessungen bis Zustandswechsel (1-20)
ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
tagsstring[]Tags
groupstringGruppe (frei benannt)
descriptionstringBeschreibung
pausedbooleanpausiert
parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
criticalbooleankritisch: ignoriert Ruhezeiten
executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
notify_degradedbooleanauch bei teilweise gestört benachrichtigen
notify_downbooleanbei Störung benachrichtigen
notify_upbooleanbei Entwarnung benachrichtigen
channelsinteger[]Kanal-IDs; leer = Standardkanäle
repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.namestringName
data.typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data.targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data.paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data.params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data.params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data.params.follow_redirectsbooleanhttp/keyword
data.params.max_redirectsintegerhttp/keyword
data.params.keywordstringkeyword: gesuchter Text
data.params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data.params.basic_userstringhttp/keyword
data.params.basic_passwordstringhttp/keyword
data.params.headersobjecthttp/keyword: zusätzliche Header
data.params.bodystringhttp/keyword
data.params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data.params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data.params.countintegericmp: Pakete (1-20)
data.params.max_loss_percentintegericmp
data.params.max_latency_msintegericmp, 0 = aus
data.params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data.params.sendstringtcp: zu sendende Daten
data.params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data.params.tlsbooleantcp: TLS nach dem Verbinden
data.params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data.params.server_namestringcert: SNI
data.params.skip_chainbooleancert
data.params.skip_hostnamebooleancert
data.params.period_secondsintegerpush: erwarteter Abstand
data.params.grace_secondsintegerpush: Kulanz
data.params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data.params.json_rules[].pathstring
data.params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data.params.json_rules[].valuestring
data.params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data.params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data.params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data.params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data.params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data.params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data.params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data.interval_secondsintegerIntervall, mindestens 20
data.retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data.retriesintegerzusätzliche Versuche vor Alarm (0-10)
data.connect_timeout_secondsnumberVerbindungs-Timeout
data.timeout_secondsnumberGesamt-Timeout
data.invertbooleanErgebnis umkehren
data.stabilizeintegerMessungen bis Zustandswechsel (1-20)
data.ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data.tagsstring[]Tags
data.groupstringGruppe (frei benannt)
data.descriptionstringBeschreibung
data.pausedbooleanpausiert
data.parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data.criticalbooleankritisch: ignoriert Ruhezeiten
data.executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data.node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data.nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data.locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data.policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data.notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data.notify_downbooleanbei Störung benachrichtigen
data.notify_upbooleanbei Entwarnung benachrichtigen
data.channelsinteger[]Kanal-IDs; leer = Standardkanäle
data.repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data.tokenstringToken
data.node_namestringName der Node
data.revisionintegerRevision
data.created_atdatetimeangelegt
data.updated_atdatetimegeändert
data.stateobject
data.state.statestringup, down, degraded, flapping, paused, pending
data.state.sincedatetimeseit
data.state.last_check_atdatetimeletzte Messung
data.state.last_statusstringup|down
data.state.last_latency_msnumberLatenz
data.state.last_reasonstringGrund
data.state.last_messagestringMeldung
data.state.down_sincedatetimegestört seit
data.state.last_push_atdatetimeletzter Push
data.pushobjectnur bei type push
data.push.urlstringPush-URL bei ipv64
data.push.hub_urlstringPush-URL am hub
data.push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)
data.sourcesobject[]Zustand je Messstelle
data.sources[].sourcestringloc:nbg, loc:fsn oder node:<id>
data.sources[].labelstringlesbarer Name
data.sources[].statestringZustand dieser Messstelle
data.sources[].sincedatetime
data.sources[].last_check_atdatetime
data.sources[].last_statusstring
data.sources[].last_latency_msnumber
data.sources[].last_reasonstring
data.sources[].last_messagestring
data.sources[].consecutive_failinteger
data.sources[].consecutive_okinteger
data.availability_percentobject
data.availability_percent.24hnumber
data.availability_percent.30dnumber
data.availability_percent.1ynumber

Mögliche Fehler: 401403404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/pause" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.namestringName
data.typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data.targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data.paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data.params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data.params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data.params.follow_redirectsbooleanhttp/keyword
data.params.max_redirectsintegerhttp/keyword
data.params.keywordstringkeyword: gesuchter Text
data.params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data.params.basic_userstringhttp/keyword
data.params.basic_passwordstringhttp/keyword
data.params.headersobjecthttp/keyword: zusätzliche Header
data.params.bodystringhttp/keyword
data.params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data.params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data.params.countintegericmp: Pakete (1-20)
data.params.max_loss_percentintegericmp
data.params.max_latency_msintegericmp, 0 = aus
data.params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data.params.sendstringtcp: zu sendende Daten
data.params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data.params.tlsbooleantcp: TLS nach dem Verbinden
data.params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data.params.server_namestringcert: SNI
data.params.skip_chainbooleancert
data.params.skip_hostnamebooleancert
data.params.period_secondsintegerpush: erwarteter Abstand
data.params.grace_secondsintegerpush: Kulanz
data.params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data.params.json_rules[].pathstring
data.params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data.params.json_rules[].valuestring
data.params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data.params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data.params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data.params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data.params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data.params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data.params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data.interval_secondsintegerIntervall, mindestens 20
data.retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data.retriesintegerzusätzliche Versuche vor Alarm (0-10)
data.connect_timeout_secondsnumberVerbindungs-Timeout
data.timeout_secondsnumberGesamt-Timeout
data.invertbooleanErgebnis umkehren
data.stabilizeintegerMessungen bis Zustandswechsel (1-20)
data.ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data.tagsstring[]Tags
data.groupstringGruppe (frei benannt)
data.descriptionstringBeschreibung
data.pausedbooleanpausiert
data.parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data.criticalbooleankritisch: ignoriert Ruhezeiten
data.executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data.node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data.nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data.locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data.policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data.notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data.notify_downbooleanbei Störung benachrichtigen
data.notify_upbooleanbei Entwarnung benachrichtigen
data.channelsinteger[]Kanal-IDs; leer = Standardkanäle
data.repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data.tokenstringToken
data.node_namestringName der Node
data.revisionintegerRevision
data.created_atdatetimeangelegt
data.updated_atdatetimegeändert
data.stateobject
data.state.statestringup, down, degraded, flapping, paused, pending
data.state.sincedatetimeseit
data.state.last_check_atdatetimeletzte Messung
data.state.last_statusstringup|down
data.state.last_latency_msnumberLatenz
data.state.last_reasonstringGrund
data.state.last_messagestringMeldung
data.state.down_sincedatetimegestört seit
data.state.last_push_atdatetimeletzter Push
data.pushobjectnur bei type push
data.push.urlstringPush-URL bei ipv64
data.push.hub_urlstringPush-URL am hub
data.push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/resume" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.namestringName
data.typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data.targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data.paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data.params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data.params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data.params.follow_redirectsbooleanhttp/keyword
data.params.max_redirectsintegerhttp/keyword
data.params.keywordstringkeyword: gesuchter Text
data.params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data.params.basic_userstringhttp/keyword
data.params.basic_passwordstringhttp/keyword
data.params.headersobjecthttp/keyword: zusätzliche Header
data.params.bodystringhttp/keyword
data.params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data.params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data.params.countintegericmp: Pakete (1-20)
data.params.max_loss_percentintegericmp
data.params.max_latency_msintegericmp, 0 = aus
data.params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data.params.sendstringtcp: zu sendende Daten
data.params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data.params.tlsbooleantcp: TLS nach dem Verbinden
data.params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data.params.server_namestringcert: SNI
data.params.skip_chainbooleancert
data.params.skip_hostnamebooleancert
data.params.period_secondsintegerpush: erwarteter Abstand
data.params.grace_secondsintegerpush: Kulanz
data.params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data.params.json_rules[].pathstring
data.params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data.params.json_rules[].valuestring
data.params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data.params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data.params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data.params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data.params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data.params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data.params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data.interval_secondsintegerIntervall, mindestens 20
data.retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data.retriesintegerzusätzliche Versuche vor Alarm (0-10)
data.connect_timeout_secondsnumberVerbindungs-Timeout
data.timeout_secondsnumberGesamt-Timeout
data.invertbooleanErgebnis umkehren
data.stabilizeintegerMessungen bis Zustandswechsel (1-20)
data.ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data.tagsstring[]Tags
data.groupstringGruppe (frei benannt)
data.descriptionstringBeschreibung
data.pausedbooleanpausiert
data.parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data.criticalbooleankritisch: ignoriert Ruhezeiten
data.executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data.node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data.nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data.locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data.policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data.notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data.notify_downbooleanbei Störung benachrichtigen
data.notify_upbooleanbei Entwarnung benachrichtigen
data.channelsinteger[]Kanal-IDs; leer = Standardkanäle
data.repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data.tokenstringToken
data.node_namestringName der Node
data.revisionintegerRevision
data.created_atdatetimeangelegt
data.updated_atdatetimegeändert
data.stateobject
data.state.statestringup, down, degraded, flapping, paused, pending
data.state.sincedatetimeseit
data.state.last_check_atdatetimeletzte Messung
data.state.last_statusstringup|down
data.state.last_latency_msnumberLatenz
data.state.last_reasonstringGrund
data.state.last_messagestringMeldung
data.state.down_sincedatetimegestört seit
data.state.last_push_atdatetimeletzter Push
data.pushobjectnur bei type push
data.push.urlstringPush-URL bei ipv64
data.push.hub_urlstringPush-URL am hub
data.push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/run" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202, 200
FeldTypBeschreibung
dataobject
data.queuedboolean
data.command_idinteger
data.node_idstring
data.detailstring

Mögliche Fehler: 401404422429 Fehlercodes

Der hub misst je Standort, die Node per Befehl. Status mit GET /hc2/testruns/{id} abfragen (alle 2 s, höchstens 60 s). Bei status ok ist der Wechsel übernommen; der Token und die Messhistorie bleiben.

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
executionstringPflichtlocal, online, both Werte: local, online, both.
node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
locationsstring[]Standorte für online/both
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/move" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.idinteger
data.statusstringpending, running, ok, failed, expired
data.targetstringZiel-Ausführungsort
data.appliedbooleanWechsel wurde übernommen
data.resultsobject[]Ergebnis je Messstelle
data.results[].sourcestring
data.results[].okboolean
data.results[].messagestring
data.errorstring

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl "https://ipv64.net/api/v2/hc2/testruns/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idinteger
data.statusstringpending, running, ok, failed, expired
data.targetstringZiel-Ausführungsort
data.appliedbooleanWechsel wurde übernommen
data.resultsobject[]Ergebnis je Messstelle
data.results[].sourcestring
data.results[].okboolean
data.results[].messagestring
data.errorstring

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
limitQuery, integerhöchstens 5000
sinceQuery, stringISO 8601
untilQuery, stringISO 8601
sourceQuery, stringloc:nbg, loc:fsn, node:<id>
Beispiel
curl "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/measurements" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].timedatetime
data[].sourcestring
data[].source_labelstring
data[].statusstringup|down
data[].latency_msnumber
data[].reasonstring
data[].messagestring
data[].familystringipv4|ipv6
data[].detailsobjectRohdaten

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
limitQuery, integerhöchstens 100
beforeQuery, integernur IDs kleiner (ältere)
afterQuery, integernur IDs größer (neuere, aufsteigend)
sinceQuery, stringab Zeitpunkt (ISO 8601)
Beispiel
curl "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/events" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idinteger
data[].event_idstring
data[].tokenstring
data[].sourcestringleer = Gesamtzustand
data[].source_labelstring
data[].kindstringdown, up, degraded, degraded_end, flapping_start, flapping_end, reminder
data[].timedatetime
data[].from_statestring
data[].to_statestring
data[].reasonstring
data[].messagestring
data[].duration_secondsinteger
data[].flapsinteger
data[].silentbooleanohne Alarm
data[].incident_idinteger
metaobject
meta.limitinteger
meta.has_moreboolean
meta.next_beforeinteger
meta.next_afterinteger

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
limitQuery, integerhöchstens 100
beforeQuery, integernur IDs kleiner (ältere)
afterQuery, integernur IDs größer (neuere, aufsteigend)
sinceQuery, stringab Zeitpunkt (ISO 8601)
Beispiel
curl "https://ipv64.net/api/v2/hc2/events" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idinteger
data[].event_idstring
data[].tokenstring
data[].sourcestringleer = Gesamtzustand
data[].source_labelstring
data[].kindstringdown, up, degraded, degraded_end, flapping_start, flapping_end, reminder
data[].timedatetime
data[].from_statestring
data[].to_statestring
data[].reasonstring
data[].messagestring
data[].duration_secondsinteger
data[].flapsinteger
data[].silentbooleanohne Alarm
data[].incident_idinteger
metaobject
meta.limitinteger
meta.has_moreboolean
meta.next_beforeinteger
meta.next_afterinteger

Mögliche Fehler: 401429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
limitQuery, integerhöchstens 500
Beispiel
curl "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/incidents" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idinteger
data[].tokenstring
data[].namestring
data[].statusstringopen|closed
data[].started_atdatetime
data[].ended_atdatetime
data[].duration_secondsinteger
data[].reasonstring
data[].messagestring
data[].sourcesstring[]betroffene Messstellen

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
limitQuery, integerhöchstens 1000
openQuery, booleantrue = nur offene
sinceQuery, stringISO 8601
Beispiel
curl "https://ipv64.net/api/v2/hc2/incidents" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idinteger
data[].tokenstring
data[].namestring
data[].statusstringopen|closed
data[].started_atdatetime
data[].ended_atdatetime
data[].duration_secondsinteger
data[].reasonstring
data[].messagestring
data[].sourcesstring[]betroffene Messstellen

Mögliche Fehler: 401429 Fehlercodes

Parameter
FeldTypBeschreibung
tokenPfad, stringPflichtToken des Checks (32 Zeichen)
rangeQuery, string24h, 7d, 30d, 1y Werte: 24h, 7d, 30d, 1y.
Beispiel
curl "https://ipv64.net/api/v2/hc2/checks/Ab3dEf6hIj9kLm2nOp5qRs8tUv1wXy4z/stats" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.rangestring
data.bucketstringhour|day
data.measurementsinteger
data.availability_percentnumber
data.sourcesobject[]je Messstelle
data.sources[].sourcestring
data.sources[].labelstring
data.sources[].measurementsinteger
data.sources[].availability_percentnumber
data.sources[].latency_msobject
data.sources[].latency_ms.minnumber
data.sources[].latency_ms.avgnumber
data.sources[].latency_ms.maxnumber
data.seriesobject[]Zeitreihe
data.series[].timedatetime
data.series[].sourcestring
data.series[].measurementsinteger
data.series[].availability_percentnumber
data.series[].latency_avg_msnumber
data.series[].latency_max_msnumber

Mögliche Fehler: 400401404429 Fehlercodes

Beispiel
curl "https://ipv64.net/api/v2/hc2/channel-types" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].typestring
data[].labelstring
data[].needs_verificationboolean
data[].fieldsobject[]
data[].fields[].keystring
data[].fields[].labelstring
data[].fields[].kindstringtext, password, url, email, number, select, textarea, bool
data[].fields[].requiredboolean
data[].fields[].secretboolean
data[].fields[].optionsstring[]
data[].fields[].defaultstring

Mögliche Fehler: 401429 Fehlercodes

Beispiel
curl "https://ipv64.net/api/v2/hc2/channels" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idinteger
data[].typestringipv64_mail, ipv64_sms, app (IPv64 App: config device_key NTFY-DEVICE-…, critical; secntfy is accepted as old name), telegram, discord, slack, teams, matrix, ntfy, gotify, pushover, webhook, smtp
data[].type_labelstring
data[].namestring
data[].configobjectKonfiguration ohne Geheimnisse
data[].secrets_setstring[]gesetzte geheime Felder
data[].enabledboolean
data[].defaultbooleanStandardkanal
data[].verifiedbooleanMail/SMS: per Code bestätigt
data[].langstringde|en
data[].notify_downboolean
data[].notify_upboolean
data[].executionstringserver|node
data[].node_idstring
data[].last_useddatetime
data[].last_errorstring
data[].revisioninteger
data[].created_atdatetime
data[].sendable_via_apibooleanÜber POST /hc2/channels/{id}/send nutzbar (ipv64-Kanal, verifiziert, aktiv)

Mögliche Fehler: 401429 Fehlercodes

Mail- und SMS-Kanäle müssen danach im Portal per Code bestätigt werden (verification_required), vorher wird nicht gesendet.

Body (JSON)
FeldTypBeschreibung
typestringKanaltyp (nur beim Anlegen)
namestringPflichtName
configobjectFelder laut GET /hc2/channel-types; geheime Felder beim Ändern weglassen = unverändert
enabledboolean
defaultboolean
langstringde|en
notify_downboolean
notify_upboolean
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/channels" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 201
FeldTypBeschreibung
dataobject
data.idinteger
data.typestringipv64_mail, ipv64_sms, app (IPv64 App: config device_key NTFY-DEVICE-…, critical; secntfy is accepted as old name), telegram, discord, slack, teams, matrix, ntfy, gotify, pushover, webhook, smtp
data.type_labelstring
data.namestring
data.configobjectKonfiguration ohne Geheimnisse
data.secrets_setstring[]gesetzte geheime Felder
data.enabledboolean
data.defaultbooleanStandardkanal
data.verifiedbooleanMail/SMS: per Code bestätigt
data.langstringde|en
data.notify_downboolean
data.notify_upboolean
data.executionstringserver|node
data.node_idstring
data.last_useddatetime
data.last_errorstring
data.revisioninteger
data.created_atdatetime
data.sendable_via_apibooleanÜber POST /hc2/channels/{id}/send nutzbar (ipv64-Kanal, verifiziert, aktiv)

Mögliche Fehler: 401403422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl "https://ipv64.net/api/v2/hc2/channels/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idinteger
data.typestringipv64_mail, ipv64_sms, app (IPv64 App: config device_key NTFY-DEVICE-…, critical; secntfy is accepted as old name), telegram, discord, slack, teams, matrix, ntfy, gotify, pushover, webhook, smtp
data.type_labelstring
data.namestring
data.configobjectKonfiguration ohne Geheimnisse
data.secrets_setstring[]gesetzte geheime Felder
data.enabledboolean
data.defaultbooleanStandardkanal
data.verifiedbooleanMail/SMS: per Code bestätigt
data.langstringde|en
data.notify_downboolean
data.notify_upboolean
data.executionstringserver|node
data.node_idstring
data.last_useddatetime
data.last_errorstring
data.revisioninteger
data.created_atdatetime
data.sendable_via_apibooleanÜber POST /hc2/channels/{id}/send nutzbar (ipv64-Kanal, verifiziert, aktiv)

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Body (JSON)
FeldTypBeschreibung
typestringKanaltyp (nur beim Anlegen)
namestringPflichtName
configobjectFelder laut GET /hc2/channel-types; geheime Felder beim Ändern weglassen = unverändert
enabledboolean
defaultboolean
langstringde|en
notify_downboolean
notify_upboolean
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/hc2/channels/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idinteger
data.typestringipv64_mail, ipv64_sms, app (IPv64 App: config device_key NTFY-DEVICE-…, critical; secntfy is accepted as old name), telegram, discord, slack, teams, matrix, ntfy, gotify, pushover, webhook, smtp
data.type_labelstring
data.namestring
data.configobjectKonfiguration ohne Geheimnisse
data.secrets_setstring[]gesetzte geheime Felder
data.enabledboolean
data.defaultbooleanStandardkanal
data.verifiedbooleanMail/SMS: per Code bestätigt
data.langstringde|en
data.notify_downboolean
data.notify_upboolean
data.executionstringserver|node
data.node_idstring
data.last_useddatetime
data.last_errorstring
data.revisioninteger
data.created_atdatetime
data.sendable_via_apibooleanÜber POST /hc2/channels/{id}/send nutzbar (ipv64-Kanal, verifiziert, aktiv)

Mögliche Fehler: 401404409422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/hc2/channels/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404409429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/channels/7/test" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.sentboolean
data.queued_at_nodebooleanNode-Kanal: die Node sendet selbst

Mögliche Fehler: 401404409429 Fehlercodes

Beispiel
curl "https://ipv64.net/api/v2/hc2/maintenance" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idinteger
data[].namestring
data[].start_atdatetime
data[].end_atdatetime
data[].repeatstringnone, daily, weekly, monthly
data[].repeat_untildatetime
data[].tokensstring[]leer = alle Checks
data[].activeboolean
data[].node_idstring
data[].revisioninteger

Mögliche Fehler: 401429 Fehlercodes

Body (JSON)
FeldTypBeschreibung
namestringPflicht
start_atdatetimePflichtISO 8601
end_atdatetimePflichtISO 8601
repeatstringnone, daily, weekly, monthly
repeat_untildatetime
tokensstring[]
activeboolean
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/maintenance" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 201
FeldTypBeschreibung
dataobject
data.idinteger
data.namestring
data.start_atdatetime
data.end_atdatetime
data.repeatstringnone, daily, weekly, monthly
data.repeat_untildatetime
data.tokensstring[]leer = alle Checks
data.activeboolean
data.node_idstring
data.revisioninteger

Mögliche Fehler: 401422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl "https://ipv64.net/api/v2/hc2/maintenance/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idinteger
data.namestring
data.start_atdatetime
data.end_atdatetime
data.repeatstringnone, daily, weekly, monthly
data.repeat_untildatetime
data.tokensstring[]leer = alle Checks
data.activeboolean
data.node_idstring
data.revisioninteger

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Body (JSON)
FeldTypBeschreibung
namestringPflicht
start_atdatetimePflichtISO 8601
end_atdatetimePflichtISO 8601
repeatstringnone, daily, weekly, monthly
repeat_untildatetime
tokensstring[]
activeboolean
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/hc2/maintenance/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.idinteger
data.namestring
data.start_atdatetime
data.end_atdatetime
data.repeatstringnone, daily, weekly, monthly
data.repeat_untildatetime
data.tokensstring[]leer = alle Checks
data.activeboolean
data.node_idstring
data.revisioninteger

Mögliche Fehler: 401404422429 Fehlercodes

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/hc2/maintenance/7" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Verschickt eine Nachricht über einen verifizierten, aktiven ipv64-Kanal (ipv64_mail, ipv64_sms, app) direkt, ohne hub, z. B. für Meldungen der Node-Module (DynDNS). Der Empfänger kommt nur aus dem Kanal. Mails werden im ipv64-Design gesetzt. SMS zählen gegen das Tageslimit des Tarifs. Rate-Limit: 30 auf einmal, danach 30 je Stunde, höchstens 200 je Tag. Eine event_id, die innerhalb von 24 h schon erfolgreich verschickt wurde, wird nicht erneut gesendet (duplicate=true).

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Body (JSON)
FeldTypBeschreibung
subjectstringPflicht
textstringPflichtText; Zeilen "Bezeichnung: Wert" erscheinen in der Mail als Tabelle
kindstringArt der Meldung, z. B. dyndns_ip, dyndns_fail (steuert Farbe und Status der Mail)
event_idstringKennung zum Erkennen doppelter Meldungen (24 h)
sourcestring
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/channels/7/send" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.sentboolean
data.duplicateboolean
data.sms_leftintegerSMS heute noch übrig (nur bei SMS-Kanälen, null = unbegrenzt)

Mögliche Fehler: 404409422429502 Fehlercodes

Schickt einen 6-stelligen Code an die E-Mail-Adresse bzw. Handynummer des Kanals (15 Minuten gültig, höchstens 5 je Stunde). Schon bestätigte Kanäle: verified true, nichts gesendet.

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/channels/7/verify/send" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200

Kein Inhalt.

Mögliche Fehler: 404429 Fehlercodes

Bestätigt den Kanal mit dem Code aus /verify/send; danach stellt ipv64 über ihn zu. Falscher oder abgelaufener Code: 422 invalid_code.

Parameter
FeldTypBeschreibung
idPfad, integerPflichtNummer
Body (JSON)
FeldTypBeschreibung
codestringPflicht
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/channels/7/verify" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200

Kein Inhalt.

Mögliche Fehler: 404429 Fehlercodes

Nodes

Node64-Nodes: verknüpfen, umbenennen, Befehle, trennen.

Wird vom Node64-Container beim Start, nach Änderungen und alle 15 Minuten aufgerufen. Header X-Node64-Node muss der node_id im Body entsprechen. Ist die Node in der Übersicht entfernt, antwortet der Server mit 403 node_removed.

Body (JSON)
FeldTypBeschreibung
node_idstringPflicht
namestring
locationstring
versionstring
os_archstring
modestring
modulesstring[]
featuresobject
features.hc_sync_linkedboolean
features.hub_node_idstring
features.honeypot_sensor_idstring
features.cdn64_tunnelstring
features.dyndnsboolean
Beispiel
curl -X POST "https://ipv64.net/api/v2/node64/hello" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200

Kein Inhalt.

Mögliche Fehler: 401403429 Fehlercodes

Beispiel
curl "https://ipv64.net/api/v2/node64/nodes" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200

Kein Inhalt.

Mögliche Fehler: 401429 Fehlercodes

Beispiel
curl "https://ipv64.net/api/v2/hc2/nodes" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].node_idstring
data[].namestring
data[].locationstring
data[].versionstring
data[].timezonestring
data[].modulesstring[]
data[].remote_mgmtstringoff, read, full
data[].onlineboolean
data[].last_seendatetime
data[].last_syncdatetime
data[].outbox_sizeinteger
data[].conflictsinteger
data[].hubstringverbunden mit
data[].linked_atdatetime

Mögliche Fehler: 401429 Fehlercodes

Die Node zeigt unter „ipv64-Verknüpfung“ einen Code; nach dem Einlösen holt sie sich ihren Token selbst.

Body (JSON)
FeldTypBeschreibung
codestringPflicht8 Zeichen aus der Node
locationstringStandort (frei)
remote_mgmtstringoff, read, full (Standard: full)
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/nodes/link" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.acceptedboolean
data.detailstring

Mögliche Fehler: 401404422429 Fehlercodes

Parameter
FeldTypBeschreibung
node_idPfad, stringPflichtKennung der Node (32 Zeichen)
Beispiel
curl "https://ipv64.net/api/v2/hc2/nodes/nz5EcCnDHtOXEprvZMXP9L8u58wguMKE" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.node_idstring
data.namestring
data.locationstring
data.versionstring
data.timezonestring
data.modulesstring[]
data.remote_mgmtstringoff, read, full
data.onlineboolean
data.last_seendatetime
data.last_syncdatetime
data.outbox_sizeinteger
data.conflictsinteger
data.hubstringverbunden mit
data.linked_atdatetime
data.checksobject[]Checks dieser Node
data.checks[].namestringName
data.checks[].typestringTyp Werte: http, keyword, json, dns, icmp, tcp, port, cert, push, docker, whois.
data.checks[].targetstringZiel: URL (http/keyword/json), Name (dns, bei PTR auch IP), Host/IP (icmp), host oder host:port (tcp/port/cert); leer bei push
data.checks[].paramsobjectTypabhängige Parameter (Schlüssel wie in der Node)
data.checks[].params.methodstringhttp/keyword: Methode (GET, HEAD, POST, ...)
data.checks[].params.accept_statusstringhttp/keyword: erlaubte Statuscodes, z. B. 200-299,301
data.checks[].params.follow_redirectsbooleanhttp/keyword
data.checks[].params.max_redirectsintegerhttp/keyword
data.checks[].params.keywordstringkeyword: gesuchter Text
data.checks[].params.keyword_absentbooleankeyword: Text darf NICHT vorkommen
data.checks[].params.basic_userstringhttp/keyword
data.checks[].params.basic_passwordstringhttp/keyword
data.checks[].params.headersobjecthttp/keyword: zusätzliche Header
data.checks[].params.bodystringhttp/keyword
data.checks[].params.insecure_tlsbooleanhttp/keyword: Zertifikatsfehler ignorieren
data.checks[].params.cert_min_daysintegerhttp/keyword (HTTPS): gestört, wenn das Zertifikat in weniger Tagen abläuft (0 = aus)
data.checks[].params.countintegericmp: Pakete (1-20)
data.checks[].params.max_loss_percentintegericmp
data.checks[].params.max_latency_msintegericmp, 0 = aus
data.checks[].params.portintegertcp/port/cert: Port, alternativ host:port im Ziel
data.checks[].params.sendstringtcp: zu sendende Daten
data.checks[].params.expectstringtcp: erwarteter Antwortanfang; port: open|closed; dns: any, contains, equals, regex, nxdomain, public_ip (nur lokal)
data.checks[].params.tlsbooleantcp: TLS nach dem Verbinden
data.checks[].params.min_daysintegercert: Mindest-Restlaufzeit in Tagen
data.checks[].params.server_namestringcert: SNI
data.checks[].params.skip_chainbooleancert
data.checks[].params.skip_hostnamebooleancert
data.checks[].params.period_secondsintegerpush: erwarteter Abstand
data.checks[].params.grace_secondsintegerpush: Kulanz
data.checks[].params.json_rulesobject[]json: Bedingungen auf die JSON-Antwort (höchstens 10). Pfad z. B. data.items[0].status; op: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists
data.checks[].params.json_rules[].pathstring
data.checks[].params.json_rules[].opstringWerte: eq, ne, lt, le, gt, ge, contains, not_contains, regex, exists, not_exists.
data.checks[].params.json_rules[].valuestring
data.checks[].params.json_anybooleanjson: eine erfüllte Bedingung genügt (sonst alle)
data.checks[].params.record_typestringdns: Eintragstyp (Standard A) Werte: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA.
data.checks[].params.resolverstringdns: Standard-Resolver, bestimmter Server (server) oder zuständige Nameserver der Zone Werte: system, server, authoritative.
data.checks[].params.serverstringdns bei resolver=server: IP, optional mit Port (1.1.1.1, [2606:4700::1111]:53)
data.checks[].params.valuesstring[]dns: erwartete Werte (contains/equals) bzw. ein Muster (regex)
data.checks[].params.dnssecbooleandns: Antwort muss DNSSEC-validiert sein
data.checks[].params.min_ttlintegerdns: Mindest-TTL in Sekunden (0 = egal)
data.checks[].interval_secondsintegerIntervall, mindestens 20
data.checks[].retry_interval_secondsintegerWiederholung bei Fehler, mindestens 5
data.checks[].retriesintegerzusätzliche Versuche vor Alarm (0-10)
data.checks[].connect_timeout_secondsnumberVerbindungs-Timeout
data.checks[].timeout_secondsnumberGesamt-Timeout
data.checks[].invertbooleanErgebnis umkehren
data.checks[].stabilizeintegerMessungen bis Zustandswechsel (1-20)
data.checks[].ip_modestringauto, ipv4, ipv6 oder both Werte: auto, ipv4, ipv6, both.
data.checks[].tagsstring[]Tags
data.checks[].groupstringGruppe (frei benannt)
data.checks[].descriptionstringBeschreibung
data.checks[].pausedbooleanpausiert
data.checks[].parentstringToken des übergeordneten Checks (Abhängigkeit) oder leer
data.checks[].criticalbooleankritisch: ignoriert Ruhezeiten
data.checks[].executionstringAusführungsort: online (ipv64), local (Node), both (hybrid) Werte: online, local, both.
data.checks[].node_idstringBesitzer-Node für local/both (bearbeitet in der Node, benachrichtigt ohne Verbindung); allein angegeben = eine messende Node
data.checks[].nodesstring[]Messende Nodes (IDs) für local/both; mehrere möglich, Docker/Push genau eine. Ausgabe: Liste {node_id, name}
data.checks[].locationsstring[]Standorte für online/both (Anzahl je Account-Klasse) Werte: nbg, fsn.
data.checks[].policystringGesamtregel bei mehreren Messstellen Werte: all, any, majority.
data.checks[].notify_degradedbooleanauch bei teilweise gestört benachrichtigen
data.checks[].notify_downbooleanbei Störung benachrichtigen
data.checks[].notify_upbooleanbei Entwarnung benachrichtigen
data.checks[].channelsinteger[]Kanal-IDs; leer = Standardkanäle
data.checks[].repeat_minutesintegerErinnerung bei anhaltender Störung in Minuten, 0 = aus
data.checks[].tokenstringToken
data.checks[].node_namestringName der Node
data.checks[].revisionintegerRevision
data.checks[].created_atdatetimeangelegt
data.checks[].updated_atdatetimegeändert
data.checks[].stateobject
data.checks[].state.statestringup, down, degraded, flapping, paused, pending
data.checks[].state.sincedatetimeseit
data.checks[].state.last_check_atdatetimeletzte Messung
data.checks[].state.last_statusstringup|down
data.checks[].state.last_latency_msnumberLatenz
data.checks[].state.last_reasonstringGrund
data.checks[].state.last_messagestringMeldung
data.checks[].state.down_sincedatetimegestört seit
data.checks[].state.last_push_atdatetimeletzter Push
data.checks[].pushobjectnur bei type push
data.checks[].push.urlstringPush-URL bei ipv64
data.checks[].push.hub_urlstringPush-URL am hub
data.checks[].push.node_pathstringPfad an der Node (http://<node>/api/push/<token>)

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
node_idPfad, stringPflichtKennung der Node (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestring
locationstring
remote_mgmtstringoff, read, full
Beispiel
curl -X PATCH "https://ipv64.net/api/v2/hc2/nodes/nz5EcCnDHtOXEprvZMXP9L8u58wguMKE" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.node_idstring
data.namestring
data.locationstring
data.versionstring
data.timezonestring
data.modulesstring[]
data.remote_mgmtstringoff, read, full
data.onlineboolean
data.last_seendatetime
data.last_syncdatetime
data.outbox_sizeinteger
data.conflictsinteger
data.hubstringverbunden mit
data.linked_atdatetime

Mögliche Fehler: 401404422429 Fehlercodes

Die Node läuft danach standalone weiter.

Parameter
FeldTypBeschreibung
node_idPfad, stringPflichtKennung der Node (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
keep_checksbooleanChecks mit öffentlichem Ziel als Online-Checks weiterführen (Standard true)
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/hc2/nodes/nz5EcCnDHtOXEprvZMXP9L8u58wguMKE" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.unlinkedboolean
data.checks_kept_onlineinteger
data.checks_deletedinteger

Mögliche Fehler: 401404429 Fehlercodes

Parameter
FeldTypBeschreibung
node_idPfad, stringPflichtKennung der Node (32 Zeichen)
limitQuery, integerhöchstens 200
Beispiel
curl "https://ipv64.net/api/v2/hc2/nodes/nz5EcCnDHtOXEprvZMXP9L8u58wguMKE/commands" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].command_idinteger
data[].node_idstring
data[].namestring
data[].argsobject
data[].created_atdatetime
data[].done_atdatetime
data[].okboolean
data[].outputErgebnis

Mögliche Fehler: 401404429 Fehlercodes

Die Node nimmt Befehle nur an, wenn ihre Fernverwaltung es erlaubt.

Parameter
FeldTypBeschreibung
node_idPfad, stringPflichtKennung der Node (32 Zeichen)
Body (JSON)
FeldTypBeschreibung
namestringPflichtrun_check, repair, pause, resume, resolve_conflict
argsobject
args.tokenstringCheck-Token (run_check, pause, resume)
args.idintegerKonflikt-Nr. (resolve_conflict)
args.keepstringserver|local (resolve_conflict)
Beispiel
curl -X POST "https://ipv64.net/api/v2/hc2/nodes/nz5EcCnDHtOXEprvZMXP9L8u58wguMKE/commands" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202
FeldTypBeschreibung
dataobject
data.command_idinteger
data.node_idstring
data.namestring
data.argsobject
data.created_atdatetime
data.done_atdatetime
data.okboolean
data.outputErgebnis

Mögliche Fehler: 401404422429 Fehlercodes

Honeypot64

Honeypot64-Sensoren (Node64) melden alle 10 Minuten Angriffe (Format schema 1); eigene Sensoren und eigener Beitrag. Aus den Meldungen mehrerer Accounts entsteht die v64 Blocklist.

Nur für Node64 (Modul honeypot bzw. NODE64_MODE=honeypot). Body JSON, optional mit Content-Encoding: gzip, höchstens 2 MiB entpackt. report_id = <sensor.id>-<period.start unix>; schon bekannte report_id: 200 mit duplicate. Höchstens eine Meldung je Sensor in 2 Minuten (429 mit Retry-After), neue Sensoren je Account höchstens 5 (Klasse Standard) bzw. 25 (andere Klassen), es zählen Sensoren mit Meldung in den letzten 30 Tagen (sonst 403 sensor_limit). Quellen mit privater/reservierter IP, der IP eines eigenen Sensors oder unbekannter Art/Dienst werden verworfen und in rejected gezählt. 400/413/422: nicht wiederholen; 401/403: Key bzw. Sensor prüfen; 429/5xx: später erneut.

Parameter
FeldTypBeschreibung
Content-EncodingQuery, stringWerte: gzip, identity.
Body (JSON)
FeldTypBeschreibung
schemaintegerPflicht
report_idstringPflicht<sensor.id>-<period.start unix>
sensorobjectPflicht
sensor.idstringPflichtfest je Installation, nicht die IP
sensor.versionstringPflicht
sensor.profilestringPflichtWerte: minimal, standard, full, custom, proxy.
sensor.modestringPflichtWerte: module, headless.
sensor.countrystringeingestellter Standort des Sensors (ISO 3166-1 alpha-2), nur fuer die Live-Karte; fehlt = automatisch
periodobjectPflichtUTC, start inklusive, end exklusive; höchstens 7 Tage, Ende höchstens 5 min in der Zukunft
period.startdatetimePflicht
period.enddatetimePflicht
sourcesobject[]Pflicht
sources[].ipstringPflichtöffentliche IPv4/IPv6
sources[].kindstringPflichtfeste Liste: ssh:bruteforce, telnet:bruteforce, http:bruteforce, http:exploit[:sqli|xss|traversal|rce|jndi|log4shell|ssrf|upload], http:scan, http:bad-useragent, generic:portscan, generic:probe, scanner:research, rdp:bruteforce, mail:auth-bruteforce, db:bruteforce, vpn:bruteforce
sources[].servicestringPflicht
sources[].portintegerPflichtBereich: 0 bis 65535.
sources[].countintegerPflichtBereich: 1 bis ….
sources[].firstdatetimePflicht
sources[].lastdatetimePflicht
sources[].sourcestringPflichtWerte: honeypot, log, syslog.
sources[].rulestring
sources[].detailstring
samplesobjectProben (nur Honeypot), als Tagessummen gespeichert
samples.credentialsobject[]
samples.credentials[].servicestringPflicht
samples.credentials[].userstringPflicht
samples.credentials[].passstringPflicht
samples.credentials[].countintegerPflichtBereich: 1 bis ….
samples.pathsobject[]
samples.paths[].keystringPflicht
samples.paths[].countintegerPflichtBereich: 1 bis ….
samples.user_agentsobject[]
samples.user_agents[].keystringPflicht
samples.user_agents[].countintegerPflichtBereich: 1 bis ….
samples.payloadsobject[]
samples.payloads[].sha256stringPflicht
samples.payloads[].headstringPflichthöchstens 256 Bytes
samples.payloads[].servicestringPflicht
samples.payloads[].portintegerPflichtBereich: 0 bis 65535.
samples.payloads[].countintegerPflichtBereich: 1 bis ….
samples.fingerprintsobject[]H6: Fingerabdrücke der Werkzeuge (optional). Keys, die nicht dem Muster folgen, werden verworfen und als invalid_fingerprint gezählt.
samples.fingerprints[].keystringPflicht
samples.fingerprints[].countintegerPflichtBereich: 1 bis ….
droppedintegervom Sensor wegen Grenzen weggelassen Bereich: 0 bis ….
Beispiel
curl -X POST "https://ipv64.net/api/v2/honeypot/reports" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 202, 200
FeldTypBeschreibung
dataobject
data.acceptedintegergespeicherte Quellen
data.rejectedintegerverworfene Quellen/Proben
data.rejected_reasonsobjectnot_public, own_ip, unknown_kind, unknown_service, unknown_source, out_of_period, invalid_fingerprint
data.report_idstring

Mögliche Fehler: 400401403413415422429 Fehlercodes

Sensoren des Accounts mit Beitrag 24 h / 7 d. Die IP eines Sensors wird nie ausgegeben.

Beispiel
curl "https://ipv64.net/api/v2/honeypot/sensors" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject[]
data[].idstring
data[].versionstring
data[].profilestring
data[].modestring
data[].first_seendatetime
data[].last_seendatetime
data[].onlinebooleanMeldung in den letzten 30 Minuten
data[].reportsinteger
data[].disabledboolean
data[].sources_24hintegerverschiedene Quell-IPs
data[].sources_7dinteger
data[].events_24hinteger
data[].events_7dinteger

Mögliche Fehler: 401429 Fehlercodes

Persönliches Listen-Token (wie unter /honeypot/token.php). Fehlt es, wird es angelegt; ein vorhandenes bleibt. Abruf dann über base + Dateiname (z. B. ipv64_blocklist_v64.txt). live = Berechtigung jetzt (Klasse außer Standard oder Beitragende/r); ohne Berechtigung liefert die Live-Adresse den Tagesstand (Kopfzeile X-IPv64-List: daily). Token geheim halten.

Beispiel
curl "https://ipv64.net/api/v2/honeypot/list-token" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.tokenstring
data.liveboolean
data.basestring

Mögliche Fehler: 401429 Fehlercodes

Ereignisse und verschiedene Quell-IPs 24 h / 7 d, Top-Arten und Top-Ports (7 Tage), Verlauf je Tag (UTC, 7 Tage).

Beispiel
curl "https://ipv64.net/api/v2/honeypot/stats" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.sensorsinteger
data.sensors_onlineinteger
data.contributorbooleanmindestens ein Sensor hat in den letzten 7 Tagen gemeldet
data.last_reportdatetime
data.events_24hinteger
data.events_7dinteger
data.sources_24hinteger
data.sources_7dinteger
data.top_kindsobject[]
data.top_kinds[].kindstring
data.top_kinds[].eventsinteger
data.top_kinds[].sourcesinteger
data.top_portsobject[]
data.top_ports[].servicestring
data.top_ports[].portinteger
data.top_ports[].eventsinteger
data.top_ports[].sourcesinteger
data.timelineobject[]
data.timeline[].daystring
data.timeline[].eventsinteger

Mögliche Fehler: 401429 Fehlercodes

Threat

IP-Auskunft zur v64 Blocklist (Honeypot64): Warum ist eine IP gelistet? Ohne API-Key mit engem Limit je Client-IP (10 sofort, dann 1 je Minute), mit API-Key großzügiger (120 sofort, dann 2 je Sekunde je Account). Keine Angaben zu Sensoren oder meldenden Accounts.

„Warum ist diese IP gelistet?“ Gelistet ja/nein, Status (auch Freigabe), Vertrauenswert, Listen, Arten, Ports (nur von mindestens 2 Accounts gemeldet), erste/letzte Sichtung (Tag, UTC), Anzahl meldender Accounts, Land/ASN (falls vorhanden, sonst null). Für nicht gelistete IPs keine Einzelheiten. Freigaben wirken hier sofort, in den Listen mit der nächsten Bewertung. Ein angegebener, aber ungültiger API-Key ergibt 401.

Parameter
FeldTypBeschreibung
ipPfad, stringPflichtGenau eine öffentliche IPv4- oder IPv6-Adresse (kein Netz)
Beispiel
curl "https://ipv64.net/api/v2/threat/ip/{ip}" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.ipstringNormalisierte Adresse
data.familyintegerWerte: 4, 6.
data.listedbooleansteht auf der v64 Blocklist (Freigaben sind schon herausgerechnet)
data.statusstringreleased = Freigabe aus Antrag (befristet), allowlisted = Freigabeliste Werte: listed, not_listed, released, allowlisted.
data.scoreinteger | nullVertrauenswert 0–100 (nur wenn gelistet) Bereich: 0 bis 100.
data.listsstring[]Teillisten (ipv64_blocklist_v64_<name>) Werte: ssh, web, mail, rdp, scanner, research.
data.kindsstring[]Arten (feste Einteilung, z. B. ssh:bruteforce)
data.portsobject[]angegriffene Ports, die mindestens 2 Accounts gemeldet haben (höchstens 10)
data.ports[].servicestring
data.ports[].portinteger
data.first_seenstring | nullerste Sichtung (Tag, UTC)
data.last_seenstring | nullletzte Sichtung (Tag, UTC)
data.accountsinteger | nullAnzahl verschiedener meldender Accounts
data.countrystring | nullLand (ISO 3166-1), falls bekannt
data.asninteger | nullNetzbetreiber (ASN), falls bekannt
data.releaseobject
data.release.statusstringWerte: none, in_review, released, allowlisted, rejected.
data.release.protected_untildatetime | nullFreigabe gilt bis (UTC); null = dauerhaft bzw. keine Freigabe
data.detailsstringSeite mit Erklärung und Freigabe-Antrag

Mögliche Fehler: 401422429 Fehlercodes

Öffentlicher Überblick wie auf https://ipv64.net/honeypot/stats.php: aktive Sensoren, Angriffe 24 h, Verlauf 30 Tage, Top 10 Ports und Arten, Größe der Listen, Top 10 Benutzernamen, Passwörter, Pfade und User-Agents, Top 10 Herkunftsländer der v64 Blocklist (top.countries). Ranglisten enthalten nur Einträge, die mindestens threshold.accounts unabhängige Accounts in den letzten 30 Tagen gemeldet haben (bereinigt: keine E-Mail-Adressen, Steuerzeichen, zufälligen Zeichenketten). Antwort aus dem Cache, höchstens alle 10 Minuten neu berechnet. Limit wie /threat/ip: ohne API-Key je Client-IP 10 sofort, dann 1 je Minute; mit API-Key je Account 120 sofort, dann 2 je Sekunde. Ein angegebener, aber ungültiger API-Key ergibt 401.

Beispiel
curl "https://ipv64.net/api/v2/threat/stats" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.generated_atdatetimeStand des Caches (UTC)
data.window_daysintegerFenster der Ranglisten in Tagen
data.thresholdobject
data.threshold.accountsintegerMindestzahl meldender Accounts für Ranglisten und Listen (2 unter 20 aktiven Accounts, sonst 3)
data.threshold.active_accounts_7dintegerAccounts, deren Sensoren in den letzten 7 Tagen gemeldet haben
data.sensorsobject
data.sensors.active_7dinteger
data.sensors.onlineintegerMeldung in den letzten 30 Minuten
data.attacks_24hobject
data.attacks_24h.eventsinteger
data.attacks_24h.sourcesintegerverschiedene Angreifer-IPs
data.timelineobject[]Angriffe je Tag (UTC), 30 Tage
data.timeline[].daystring
data.timeline[].eventsinteger
data.top_portsobject[]meistangegriffene Ports (7 Tage, höchstens 10)
data.top_ports[].servicestring
data.top_ports[].portinteger
data.top_ports[].eventsinteger
data.top_kindsobject[]häufigste Arten (7 Tage, höchstens 10)
data.top_kinds[].kindstring
data.top_kinds[].eventsinteger
data.listsobjectGröße der Listen: v64 (gelistete IPs, Live-Stand), honeypot_passwords, honeypot_usernames, honeypot_bad_useragents, honeypot_attack_paths (Einträge der Text-Listen)
data.topobjectTop 10 je Bereich (30 Tage, ab threshold.accounts Accounts)
data.top.usernamesobject[]
data.top.usernames[].valuestring
data.top.usernames[].eventsintegerSumme der Versuche (30 Tage)
data.top.usernames[].accountsintegerverschiedene meldende Accounts (30 Tage)
data.top.passwordsobject[]
data.top.passwords[].valuestring
data.top.passwords[].eventsintegerSumme der Versuche (30 Tage)
data.top.passwords[].accountsintegerverschiedene meldende Accounts (30 Tage)
data.top.pathsobject[]
data.top.paths[].valuestring
data.top.paths[].eventsintegerSumme der Versuche (30 Tage)
data.top.paths[].accountsintegerverschiedene meldende Accounts (30 Tage)
data.top.user_agentsobject[]
data.top.user_agents[].valuestring
data.top.user_agents[].eventsintegerSumme der Versuche (30 Tage)
data.top.user_agents[].accountsintegerverschiedene meldende Accounts (30 Tage)
data.top.fingerprintsobject[]H6: Fingerabdrücke (JA4/HASSH)
data.top.fingerprints[].valuestring
data.top.fingerprints[].eventsintegerSumme der Versuche (30 Tage)
data.top.fingerprints[].accountsintegerverschiedene meldende Accounts (30 Tage)
data.top.countriesobject[]Herkunft nach Land: IPs der v64 Blocklist mit Sichtung in den letzten 30 Tagen je Land (Top 10, nach Anzahl IPs). Land nach Standort aus DB-IP Lite (CC BY 4.0, IP-Länderdaten: DB-IP.com), Lücken aus den RIR-Daten (https://ipv64.net/blocklists/country_ranges.txt.gz).
data.top.countries[].countrystringISO 3166-1 alpha-2
data.top.countries[].ipsintegergelistete IPs aus diesem Land
data.top.countries[].eventsintegerEreignisse dieser IPs (Bewertungsfenster)
data.infostring
data.licensestring

Mögliche Fehler: 401429503 Fehlercodes

Frühwarnung für eigene Netze (Honeypot64): Limits deiner Klasse, eingetragene Netze und die automatisch überwachten DynDNS-IPs des Accounts (aktuelle öffentliche A/AAAA-Einträge deiner Domains). Limit wie GET /threat/ip mit API-Key (eigener Topf).

Beispiel
curl "https://ipv64.net/api/v2/threat/watch" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.limitsobject
data.limits.maxintegerNetze je Account (Standard 3, sonst 50)
data.limits.min_prefix_v4integerIPv4 höchstens /16
data.limits.min_prefix_v6integerIPv6 höchstens /32
data.networksobject[]
data.networks[].idinteger
data.networks[].cidrstringNetz, normalisiert (Netzadresse ohne Host-Bits)
data.networks[].labelstring
data.networks[].verifiedbooleanNachweis erbracht (setzt nur ipv64): dann meldet jede Sichtung, sonst nur gelistete IPs
data.networks[].created_atdatetime
data.dyndnsobject[]automatisch überwacht (gelten als nachgewiesen)
data.dyndns[].ipstring
data.dyndns[].domainstring

Mögliche Fehler: 401429 Fehlercodes

Trägt ein öffentliches Netz (CIDR) oder eine einzelne IP ein; Host-Bits werden entfernt (203.0.113.7/24 → 203.0.113.0/24). Ohne Nachweis (verified false, setzt nur ipv64) gibt es Treffer nur für IPs, die auf der v64 Blocklist stehen. Fehler: 422 invalid_cidr, prefix_too_large (größer als limits.min_prefix_v4/v6), not_public; 409 duplicate; 403 limit_reached (limits.max erreicht).

Body (JSON)
FeldTypBeschreibung
cidrstringPflichtNetz in CIDR-Form oder einzelne IP (IPv4 bis /16, IPv6 bis /32)
labelstringBezeichnung (optional)
Beispiel
curl -X POST "https://ipv64.net/api/v2/threat/watch" \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cidr":"203.0.113.0/24","label":"Büro"}'
Antwort 201
FeldTypBeschreibung
dataobject
data.idinteger
data.cidrstringNetz, normalisiert (Netzadresse ohne Host-Bits)
data.labelstring
data.verifiedbooleanNachweis erbracht (setzt nur ipv64): dann meldet jede Sichtung, sonst nur gelistete IPs
data.created_atdatetime

Mögliche Fehler: 401403409422429 Fehlercodes

Entfernt ein eigenes Netz. Frühere Treffer bleiben (mit network_id) erhalten.

Parameter
FeldTypBeschreibung
idPfad, stringPflichtID des Netzes
Beispiel
curl -X DELETE "https://ipv64.net/api/v2/threat/watch/12" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 204

Kein Inhalt.

Mögliche Fehler: 401404429 Fehlercodes

Treffer der Frühwarnung: eine IP aus einem eigenen Netz bzw. eine DynDNS-IP des Accounts ist bei der Bewertung (alle 30 Minuten) als Angreifer aufgefallen. Netze ohne Nachweis nur mit gelisteten IPs, DynDNS-IPs mit jeder Sichtung. Dieselbe IP höchstens einmal je 24 h, außer sie wird neu gelistet. Älteste zuerst (created_at, id), höchstens 100 je Abruf. next ist ein Cursor (für den Client undurchsichtig, derzeit "<RFC 3339>_<id>"): unverändert als since des nächsten Abrufs verwenden; doppelte IDs verwerfen. Ohne neue Treffer ist next der übergebene Stand, bei leerem since die aktuelle Zeit (minus 5 Minuten). Treffer werden 90 Tage aufgehoben.

Parameter
FeldTypBeschreibung
sinceQuery, stringCursor aus next der vorigen Antwort ((created_at, id) danach) oder ein RFC-3339-Zeitpunkt (created_at danach); ohne: alle
Beispiel
curl "https://ipv64.net/api/v2/threat/watch/alerts" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.alertsobject[]
data.alerts[].idinteger
data.alerts[].ipstring
data.alerts[].cidrstringNetz bzw. bei dyndns die IP als /32 bzw. /128
data.alerts[].network_idinteger | nullnull bei dyndns
data.alerts[].sourcestringWerte: network, dyndns.
data.alerts[].labelstringBezeichnung des Netzes bzw. Domain (zusätzlich)
data.alerts[].listedbooleansteht auf der v64 Blocklist
data.alerts[].scoreintegerVertrauenswert der Bewertung Bereich: 0 bis 100.
data.alerts[].kindsstring[]
data.alerts[].first_seenstringerste Sichtung (Tag, UTC)
data.alerts[].last_seenstringletzte Sichtung (Tag, UTC)
data.alerts[].created_atdatetime
data.alerts[].detailsobjectWarum die IP aufgefallen ist (letzte 14 Tage): Anzahlen und je Herkunft, Dienst, Port, Art und Regel – nie Sensoren, Accounts oder Inhalte. null bei älteren Treffern (vor Einführung der Details).
data.alerts[].details.accountsintegermeldende Accounts
data.alerts[].details.sensorsinteger
data.alerts[].details.eventsinteger
data.alerts[].details.listsstring[]
data.alerts[].details.reasonstringGrund der Bewertung, z. B. threshold, customer_ip, allowlist
data.alerts[].details.seenobject[]höchstens 8 Zeilen, die häufigsten zuerst
data.alerts[].details.seen[].originstringWerte: honeypot, log, syslog.
data.alerts[].details.seen[].servicestring
data.alerts[].details.seen[].portinteger
data.alerts[].details.seen[].kindstring
data.alerts[].details.seen[].rulestringRegel des Log-Sensors, sonst leer
data.alerts[].details.seen[].countinteger
data.alerts[].details.seen[].sensorsinteger
data.alerts[].details.seen[].lastdatetime
data.nextstringCursor für den nächsten Abruf (unverändert als since zurückgeben)

Mögliche Fehler: 400401429 Fehlercodes

Wie die Range-API von Have I Been Pwned: SHA-1 des Passworts lokal berechnen, nur die ersten 5 Hex-Zeichen schicken, die Antwort lokal vergleichen. Antwort text/plain, je Zeile "<restliche 35 Hex-Zeichen, groß>:<Anzahl>" (CRLF, sortiert) für alle Passwörter, die Angreifer in den letzten 365 Tagen an Honeypot64-Sensoren probiert haben und die mindestens 2 bzw. 3 unabhängige Accounts gemeldet haben (Schwelle wie die Ranglisten). Immer mindestens 64 Zeilen: fehlende werden mit Zufallszeilen mit Anzahl 0 aufgefüllt, damit die Größe der Antwort nichts verrät. Cache 1 h. Limit wie /threat/ip: ohne API-Key je Client-IP 10 sofort, dann 1 je Minute; mit API-Key je Account 120 sofort, dann 2 je Sekunde. Seite für Menschen: https://ipv64.net/honeypot/password.php

Parameter
FeldTypBeschreibung
prefixPfad, stringPflichtDie ersten 5 Hex-Zeichen von SHA-1(Passwort), groß oder klein
Beispiel
curl "https://ipv64.net/api/v2/threat/passwords/range/{prefix}" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200

Kein Inhalt.

Mögliche Fehler: 401422429503 Fehlercodes

Änderungen der v64 Blocklist und ihrer Teillisten (Live-Stand, nach jeder Bewertung alle 30 Minuten) nach dem Cursor since, älteste zuerst, höchstens 10 000 je Abruf (more = true: sofort mit next weiter). Vorgehen: einmal die Live-Liste vollständig laden und /threat/feed ohne since abrufen (liefert nur den aktuellen Cursor), danach regelmäßig mit since = next. ETag/If-None-Match: ohne Änderungen 304. Änderungen bleiben 30 Tage; ist ein Cursor älter und sind Änderungen danach schon gelöscht, kommt 410 (Liste neu laden, ohne since beginnen). Für alle Klassen außer Standard und für Beitragende (ein Honeypot64-Sensor des Accounts hat in den letzten 7 Tagen gemeldet), sonst 403 feed_not_available. Limit je Account 120 sofort, dann 2 je Sekunde.

Parameter
FeldTypBeschreibung
sinceQuery, stringCursor aus next der vorigen Antwort; ohne: aktueller Cursor ohne Einträge
If-None-MatchQuery, stringETag der vorigen Antwort mit demselben since
Beispiel
curl "https://ipv64.net/api/v2/threat/feed" \
  -H "Authorization: Bearer DEIN_API_KEY"
Antwort 200
FeldTypBeschreibung
dataobject
data.changesobject[]älteste zuerst, höchstens 10 000
data.changes[].ipstring
data.changes[].actionstringadd = neu gelistet, remove = nicht mehr gelistet, update = andere Teillisten Werte: add, remove, update.
data.changes[].listsstring[]Listen danach (v64, ssh, web, mail, rdp, scanner, research), leer bei remove
data.changes[].previous_listsstring[]Listen davor, leer bei add
data.changes[].atdatetimeZeitpunkt der Bewertung (UTC)
data.nextstringCursor für den nächsten Abruf (undurchsichtig, unverändert als since verwenden)
data.morebooleanes liegen weitere Änderungen bereit (sofort mit next weiter abrufen)

Mögliche Fehler: 400401403410429503 Fehlercodes