Start here. This is the direct spoken answer to practice first.
Why this question matters
Admin actions are high blast-radius operations. The API needs strong authorization and useful audit records without turning audit logs into a secret dump.
I would require explicit admin capabilities for sensitive actions like changing roles, disabling users, deleting content, importing data, or clearing lockouts. The audit event should record actor, action, target type, target id, timestamp, request context, and enough before/after detail to understand what changed. The server should generate these fields, not trust the client.