pub struct AuditLog {Show 18 fields
pub id: Uuid,
pub ts: String,
pub request_id: Option<Uuid>,
pub category: String,
pub action: String,
pub outcome: String,
pub http_status: Option<u16>,
pub actor_type: String,
pub actor_user_id: Option<Uuid>,
pub actor_zone_id: Option<Uuid>,
pub actor_label: Option<String>,
pub ip: Option<String>,
pub resource_type: Option<String>,
pub resource_id: Option<String>,
pub resource_name: Option<String>,
pub zone_id: Option<Uuid>,
pub fields: Option<Vec<String>>,
pub error_code: Option<String>,
}Expand description
One audit log entry: who did what to which resource, and how it ended
(AuditLogs). Fields Core does not know, or does not show the
caller, are None. Enum values are kept as strings (forward compatibility); the known
ones are listed per field.
Fields§
§id: UuidUUIDv7, time-ordered.
ts: StringWhen, ISO 8601 in UTC with milliseconds (2026-10-27T09:14:03.120Z).
request_id: Option<Uuid>Shared by every entry one API request produced.
category: Stringapi (a REST call), relay (a Relay connecting or syncing), auth (sign-in and
key checks) or system (Core’s own work).
action: String<resource>.<verb>, e.g. record.create, zone.api_key.delete.
outcome: Stringsuccess, or why not: denied (401/403), not_found, conflict, invalid
(other 4xx), error (5xx).
http_status: Option<u16>HTTP status of an API call.
actor_type: Stringuser (web app), user_key (du_…), zone_key (dz_…), edge (a Relay),
system or anonymous.
actor_user_id: Option<Uuid>The user who acted.
actor_zone_id: Option<Uuid>The zone of a zone key that acted.
actor_label: Option<String>Readable actor (email, Relay name), kept after the actor is deleted.
ip: Option<String>Client IP; shown only on the caller’s own actions (to an Admin on all).
resource_type: Option<String>e.g. record, zone.
resource_id: Option<String>Id of the resource (usually a uuid, not always).
resource_name: Option<String>Readable target, e.g. a zone name or www.example.com A.
zone_id: Option<Uuid>The zone the operation belongs to.
fields: Option<Vec<String>>For a PATCH: names of the fields sent, never their values.
error_code: Option<String>Core’s error code (FORBIDDEN, MANAGED_RECORD, …) when it did not succeed.