Zum Hauptinhalt springen

Audit-Log

Lesen Sie denselben Audit-Trail wie Einstellungen → Audit-Log im Admin Tool. Jeder Eintrag ist eine aufgezeichnete Aktion der Organisation, der der API-Schlüssel gehört: ein API-Aufruf, eine Konfigurationsänderung, eine Webhook-Zustellung, ein DSGVO-Export oder ein Bestellimport, sobald das Audit-Logging für Bestellimporte aktiviert ist.
Dieser Endpoint folgt demselben Schalter wie die Aufzeichnung von Management- und Public-API-Anfragen. Solange der Schalter aus ist, antwortet ein authentifizierter Aufruf mit 404 und das Log wird nicht gelesen. Verlassen Sie sich in Produktion nicht auf diesen Endpoint, bevor das Audit-Logging für die Management API Ihrer Organisation eingeschaltet ist.
Berechtigung: audit_log:read (Audit log read). Ein Schlüssel ohne diese Berechtigung erhält 403. Ein fehlender oder ungültiger Schlüssel erhält 401.

Audit-Log-Einträge auflisten

Die Organisation kommt aus dem API-Schlüssel. Es gibt keinen Organisationsparameter. Ein Aufrufer kann das Log einer anderen Organisation nicht lesen.

Abfrageparameter

Alle Filter sind optional und werden mit UND verknüpft. Ein unbekannter Parameter, einschließlich organisation_uid, ergibt 400.
string
Ein Log-Typ: api_call, config_change, webhook_delivery, gdpr_export oder order_import. Jeder andere Wert ergibt 400.
string
Ein Ereignistyp, zum Beispiel api_read, api_phi_read, api_write oder api_auth_failed. Unbekannte Werte ergeben 400.
string
Wo der Eintrag aufgezeichnet wurde, zum Beispiel management_api_v1, public_api_v2 oder admin_api_v1.
boolean
true oder false. Entspricht dem gespeicherten Erfolgsflag. Bei einem Bestellimport werden sowohl success als auch success_with_warnings als success=true gespeichert.
string
success, success_with_warnings oder rejected.success=true schließt Warnungen ein. outcome=success nicht: es passt auf einen erfolgreichen Eintrag, der nicht success_with_warnings ist. outcome=rejected passt auf einen fehlgeschlagenen Eintrag oder einen Eintrag, dessen Payload-Ergebnis rejected ist.success und outcome zusammen ergeben 400, wenn sie sich widersprechen (success=true mit rejected, oder success=false mit success oder success_with_warnings).Warnungen und Ablehnungen aus dem Bestellimport erscheinen erst, wenn das Audit-Logging für Bestellimporte aktiviert ist.
integer
Inklusiver Beginn als Unix-Sekunden. created_at ist größer oder gleich diesem Wert.
integer
Exklusives Ende als Unix-Sekunden. created_at ist kleiner als dieser Wert. Liegt created_from nach created_to, ist die Antwort 400. Gleiche Werte treffen nichts.
string
Exakte Übereinstimmung, höchstens 255 Zeichen. Bei einem übernommenen Bestellimport ist das die interne Bestell-ID. Ein abgelehnter Import hat keine Entity-ID und passt nicht auf diesen Filter.
string
Exakte Übereinstimmung des Benutzers, der eine Konfigurationsänderung, einen DSGVO-Export oder eine Änderung am Telemedizin-Anbieter vorgenommen hat. Höchstens 36 Zeichen. API-Aufrufe und Bestellimporte lassen dieses Feld leer und passen nicht.
string
Exakte Übereinstimmung der API-Schlüssel-Kennung. Das ist nicht das Geheimnis und ein eigener Filter neben actor_user_uid.
integer
Standard:"0"
Seitennummer, beginnend bei 0.
integer
Standard:"50"
Seitengröße. Minimum 1, Maximum 200.
Einträge kommen neueste zuerst. Teilen sich zwei Einträge einen Zeitstempel, kommt die höhere ID zuerst. Es gibt kein Standard-Zeitfenster. Lassen Sie beide Zeitstempel weg, um die neuesten Einträge zu blättern, begrenzt durch die Obergrenze unten.

Paginierung

Die Standardseitengröße ist 50, das Maximum 200. Es werden höchstens 10.000 passende Einträge gezählt. Passen mehr, ist totalRegistries 10000, totalCapped ist true, und totalPages bezieht sich auf diese Obergrenze. Seiten hinter diesem Fenster sind leer. Grenzen Sie created_from und created_to oder die anderen Filter ein, um ältere Einträge zu erreichen.

Ratenlimit

10 Anfragen pro Sekunde pro IP-Adresse, gemeinsam mit dem Rest der Management API. Eine 429 ist eine HTML-Seite mit dem Text Too Many Requests, kein JSON, und ohne Retry-After. Siehe Ratenlimits.

Beispiel: Bestellimport mit Warnungen

Einträge mit order_import gibt es erst, wenn das Audit-Logging für Bestellimporte aktiviert ist.

Beispiel: abgelehnter API-Aufruf

outcome ist rejected, weil success false ist, auch wenn payload null ist.

Was enthalten ist

Jeder Eintrag hat dieselben Felder. Ein Feld ist null, wenn nichts gespeichert wurde. Enthalten: Ereignistyp, Ergebnis, IP-Adresse, User-Agent, API-Schlüssel-Kennung (nie das Geheimnis), Routenvorlage, Anfragepfad mit bereits geschwärzten Zugangsdaten und nur den Namen der Query-Parameter, der Fehlertext bei Fehlschlag (höchstens 2.000 Zeichen), die Fehlermeldung, die zugehörige Entity-ID und die Ereignis-Payload, wie sie gespeichert wurde.

Was nie enthalten ist

Anfragekörper, Werte von Query-Parametern, erfolgreiche Antwortkörper, API-Schlüssel-Geheimnisse, Name oder Adresse von Kunden und die alte meta_data-Sammlung. Die Antwort lässt außerdem die internen Spalten expires_at, deleted_at und updated_at weg.

Fehler

Aufbewahrung

Dieser Endpoint ändert nicht, wie lange Einträge aufbewahrt werden. Erfolgreiche API-Lesezugriffe ohne Patientendaten werden 90 Tage aufbewahrt. Lesezugriffe auf Patientendaten, Schreibzugriffe, fehlgeschlagene Anfragen und dieser Audit-Log-Lesezugriff selbst werden 1 Jahr aufbewahrt. Siehe Audit-Log.