admin:appserver-set-privilege( $config as element(configuration), $appserver-id as xs:unsignedLong, $value as xs:unsignedLong ) as element(configuration)
This function sets an execute privilege in the configuration for the specified App Server. When a privilege is set, the user who makes a request to the App Server must have been granted (via a role, either directly or indirectly) the specified privilege.
http://marklogic.com/xdmp/privileges/admin/app-server-security
http://marklogic.com/xdmp/privileges/admin/app-server-security/{id}
http://marklogic.com/xdmp/privileges/admin/group-security
http://marklogic.com/xdmp/privileges/admin/group-security/{id}
xquery version "1.0-ml"; import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; let $config := admin:get-configuration() let $groupid := admin:group-get-id($config, "Default") return admin:appserver-set-privilege($config, admin:appserver-get-id($config, $groupid, "myAppServer"), xdmp:eval(' xquery version "1.0-ml"; import module "http://marklogic.com/xdmp/security" at "/MarkLogic/security.xqy"; sec:get-privilege("http://marklogic.com/my.uri", "execute")/sec:privilege-id', (), <options xmlns="xdmp:eval"> <database>{xdmp:security-database()}</database> </options>)) (: returns the new configuration element -- use admin:save-configuration to save the changes to the configuration or pass the configuration to other Admin API functions to make other changes. :)