Domain-Diagnose
Live-Prüfung von DNS und Zertifikat einer eigenen App-Domain: autoritative Nameserver, gesehener TXT-Eintrag, Propagation, Zertifikatsstatus, letzte fehlgeschlagene Verifizierung. Nur für Admins.
GET /api/organization/whitelabel/domains/{id}/diagnostics
Prüft bei jedem Aufruf live und schreibt nichts. Gedacht für eine Domain, die sich nicht verifizieren lässt oder kein HTTPS ausliefert.
Zugriff
Nur Organisations-Admins, wie bei Domain abfragen.
Beispiel (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"
curl -X GET "$BASE_URL/api/organization/whitelabel/domains/12/diagnostics" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"Antwort (Response)
200 OK
{
"domainId": 12,
"hostname": "status.acme.example",
"status": "active",
"checkedAt": "2026-10-29T09:30:00.000Z",
"verification": {
"recordFound": true,
"recordName": "_verify-status.status.acme.example",
"expected": "uptimeify-verify-abc123",
"lookup": "records",
"observed": ["uptimeify-verify-abc123"],
"nameservers": { "zone": "acme.example", "hosts": ["ns1.dns-provider.example", "ns2.dns-provider.example"] },
"authoritative": { "nameserver": "ns1.dns-provider.example", "lookup": "records", "observed": ["uptimeify-verify-abc123"] },
"propagation": "propagated"
},
"certificate": {
"state": "valid",
"errorCode": null,
"errorMessage": null,
"issuer": "Let's Encrypt",
"validFrom": "2026-10-01T00:00:00.000Z",
"validTo": "2026-12-30T00:00:00.000Z",
"daysUntilExpiry": 62
},
"lastVerificationError": null,
"lastVerificationErrorAt": null
}| Feld | Bedeutung |
|---|---|
verification | Die Live-Prüfung des TXT-Eintrags, null, wenn die Domain keinen Verifizierungstoken hat. Dieselben Felder wie die Fehlerdaten von domainVerificationFailed beim Verifizieren, dazu recordFound (true: der Token ist veröffentlicht, die Verifizierung würde gelingen). |
verification.nameservers | Die Zone, in die der Hostname delegiert ist, und ihre autoritativen Nameserver; null, wenn sich das nicht ermitteln ließ. |
verification.authoritative | Die Antwort eines dieser Nameserver, direkt gefragt, an allen Caches vorbei; null, wenn keiner gefragt werden konnte. Gefragt werden nur öffentliche Nameserver-Adressen. |
verification.propagation | propagated (unser Resolver sieht den Token), propagating (dein Nameserver hat ihn, unser Resolver noch nicht; nach Ablauf der TTL erneut versuchen), not_published (nicht einmal dein Nameserver hat ihn), unknown (kein Nameserver ließ sich fragen). |
certificate.state | Was ein Browser unter https://<hostname> bekommt: valid, invalid (es wird ein Zertifikat ausgeliefert, die Prüfung schlägt fehl, Grund in errorCode), handshake_failed (kein TLS-Handshake: das Zertifikat wird eventuell noch ausgestellt, oder der CNAME zeigt noch nicht auf uns), unreachable (errorCode not_resolved oder private_address), not_active (die Domain ist noch nicht aktiviert, vorher wird kein Zertifikat ausgestellt, es wurde nichts geprüft). |
certificate.errorCode | expired, not_yet_valid, hostname_mismatch, untrusted, not_resolved, private_address oder null. |
lastVerificationError, lastVerificationErrorAt | Die letzte fehlgeschlagene Verifizierung, wie sie an der Domain gespeichert ist; null nach einer erfolgreichen. |
Häufige Fehler
400 Bad Request(invalidDomainId), wenn die ID keine positive Zahl ist401 Unauthorized, wenn du nicht angemeldet bist403 Forbidden, wenn du kein Organisations-Admin bist404 Not Found(domainNotFound), wenn die Domain nicht existiert oder zu einer anderen Organisation gehört
Branding abrufen
Gibt die Branding-Konfiguration der Organisation zurück, einschließlich Produktname, Theme-Farben sowie signierter URLs für Logos und Favicons. Erfordert die Admin-Rolle.
Domain abfragen
Gibt eine eigene App-Domain deiner Organisation zurück, in derselben Form { domain, dns } wie beim Hinzufügen. Erfordert die Admin-Rolle.