Export Audit Logs Csv
Same dependency as the JSON route, so the role gate cannot drift: a member who cannot list entries cannot download them either.
assert_audit_readable() runs HERE, synchronously, before the response is constructed — not left to iter_csv_rows’s own internal call. StreamingResponse sends the 200 status line before ever touching the body iterator, so a check inside an async generator raises too late for an HTTP client to see anything but a 200 with an empty body. This pre-flight is what usage.py’s CSV export already does (checks run in the handler, not the generator); iter_csv_rows’s own call stays in place as defense-in-depth for non-HTTP callers only.
Authorizations
Enter your MeshAPI key (rsk_...) — sent as Authorization: Bearer <key>.
Query Parameters
Response
Successful Response