Audit does not happen automatically. For some record to appear in the Audit log you need to call the following method:

Do $SYSTEM.Security.Audit(EventSource,EventType,Event,EventData,Description)

So in order for the REST-calls of the REST API to be audited you need to add the call above in the REST API

EventSource in this case is anything you specify when calling the Audit() method. Later, in the Audit Database UI you can filter by this EventSource

https://docs.intersystems.com/iris20242/csp/docbook/DocBook.UI.Page.cls?...

^$GLOBAL likely does not cache the list of the globals in the current namespace

So each time you do $Order(^$GLOBAL(name)) it gets the list and looks which global is next after the one in the name. That's fine because globals might appear and disappear between the calls.

If you'd like to loop through the globals -- use merge, and then loop through the temp variable a

merge a = ^$GLOBAL("")

Note, that your loop is much faster if you run it in the database, not namespace, as here ther are no possible mappings to account for

USER>s z1=$zh,n="" f  { s n = $O(^$Global(n))  q:n="" } w $zh-z1
3.302887
USER>zn "^^..\user"

...iris\mgr\user\>s z1=$zh,n="" f  { s n = $O(^$Global(n))  q:n="" } w $zh-z1
.098734

Scott,

take a look inside iam-setup.sh

Based on the inputs it constructs a URL and then tries to 'curl' it.

And fails for some reason. Check which URL it constructs and check if curl indeed works fine for that URL

The URL should look like:

https://IAM:
@xxx.xxx.xxx.xxx:443/api/iam/license

Check if you can access it from the bash