This page is served over normal HTTP. Role-based /api data is not on this port: it is exposed only after a ZKAC session on the separate TCP port (BBS+ credential + encrypted transport).
python setup_demo.py
Creates creds/ with issuer keys, server transport keys, and two members: analyst and operator.
python server.py
HTTP (this page) defaults to 127.0.0.1:8765. ZKAC TCP defaults to 127.0.0.1:9876.
python client_cli.py --member creds/member_analyst.json python client_cli.py --member creds/member_operator.json
Each command runs a full handshake and requests {"path":"/api"}. The JSON response lists datasets allowed for that role.