The action logging for the APIKEYS module (Koha/ApiKey.pm) already has diff support for MODIFY, REVOKE, and ACTIVATE actions. However, CREATE and DELETE actions do not pass the $original parameter. Affected calls in Koha/ApiKey.pm: - APIKEYS/CREATE (~line 84): logaction( 'APIKEYS', 'CREATE', $self->patron_id, $self, undef ); (passes $self as $infos but no $original; for CREATE, $self represents the new state) - APIKEYS/DELETE (~line 142): logaction( 'APIKEYS', 'DELETE', $patron_id ) (no info or original passed at all) For CREATE, passing $self as both $infos and $original (or with undef original) would allow the viewer to show what was created. For DELETE, the API key object should be fetched before deletion and passed as both $infos and $original so the log shows what was deleted. This is important for security audit trails.