Recently I was helping a company audit their 1password account. Thought I’d share some useful snippets using jq and the 1password CLI tool.
This command suspends users who haven’t logged in for 3 months
op list users | jq -r '.[] | .uuid' | xargs -iUSER op get user USER | jq -r ' select(.lastAuthAt | fromdateiso8601 <= now - 7776000).uuid' | xargs -iUSER op suspend USER
After suspending all the users for a few days (waiting to see if people complain), this command can be used to purge those users and free up their licenses.
op list users | jq -r '.[] | select(.state=="S") | .uuid' | xargs -iUSER op delete user USER