First of.. what use role is required to use this API? I presume Admin... yet in my experiments, if I take an admin, remove its admin role, I can still use its credentials to perform operations. It's only some time after that it stops working. And that means I can't reliably trial&error to figure out what is needed.
Secondly, the type field of a resource seems to have two values, 1 = agent, 2 = supervisor. What about the reporting and admin roles.. how can I assign them from an application using the UCCX configuration API?