Cloud Zoo API Access - Add / Remove / Boot users

Hi all,

This is my first post in this forum so apologies if it’s not in the right place.

Is there API access to the cloud zoo server where I can:

  • Add / remove / manage users in teams.
  • Track the use duration of each user and write a script to boot the user if licences are not in use.

I’ll be dealing with a pool of potentially 500 dynamic users that will be sharing a pool of licences, I’m looking to make my life a bit easier and automate the process.

Thank you, any advice is appreciated!

@aj1
@brian
I think this is for you guys.

Hi @krishna.duddumpudi,

One thing to keep in mind is that Cloud Zoo and Rhino accounts are completely separate systems technically speaking.

There is currently no API to add or remove users in a team. It all has to go through the Rhino accounts portal.

You could theoretically use Cloud Zoo’s live or historical usage API to monitor how long a user has taken up a seat, but there is no API to boot the user in the system. This is by design.

Thank you for the quick response @aj1!

Could you please point me in the right direction for signing up for the Cloud Zoo’s live or historical usage API?

Hi @krishna.duddumpudi,

Here are more details. I will warn you again about 4 things: 1) It’s slow, so try not to ask for more than a couple of weeks worth of data at a time or you might timeout. 2) The data is raw, so you’ll need to find a way to represent it visually. 3.) This won’t solve all of your puzzle, which is to boot out users programmatically. 4.) Data older than 2 months may be deleted without notice, so it may be missing or incomplete.

You can make a request to https://cloudzoo.rhino3d.com/v1/usage/historical with the following content:

HTTP Method:

GET

Headers:

Authorization: Bearer AUTH_TOKEN_HERE

Content-Type: application/json

To get an auth token:

  1. Navigate to www.rhino3d.com/licenses in your web browser.

  2. Open the dev tools in your browser (Every browser has this, but they all have different menus/shortcuts to get there)

  3. In the Console on the dev tools (Again, all browsers have this) enter edsApp.model.custom.oauth2Token , then press enter. You should get the actual token used by the Licenses Portal to make requests to Azure.

Query String Arguments:

entityId: The id of the entity whose historical usage will be returned. For your team, it is “5868264097841152-|-Group”

productId: The id of the product whose historical usage will be returned. For Rhino 6, it is “55500d41-3a41-4474-99b3-684032a4f4df”
fromDate: A unix timestamp specifying the earliest point in time that data will be returned for. See https://www.epochconverter.com to get this value.
toDate: A unix timestamp specifying the latest point in time that data will be returned for.
hourlyBillingOnly: should always be “false”

Example:

GET https://cloudzoo.rhino3d.com/v1/usage/historical?entityId= 5868264097841152-%7C-Group&productId=55500d41-3a41-4474-99b3-684032a4f4df&fromDate= 1605720935&toDate=1605730935&hourlyBillingOnly=false

Hi, since this topic was posted, have there been any new updates in terms of cloud zoo API that gives the ability to manage users (get, add, remove), and get live/historical license usage data?

@aj1 - can you help with this?

Hi @famak2,

API-wise, there haven’t been any changes to the above. We are currently doing a complete infrastructure overhaul which should substantially speed up the queries mentioned above. It should be operational by the end of 2024.

We do have a side-project that simplifies looking at live-usage data. For details, see this doc. This is working today.

Thanks @aj1 ! Will test out the process in the doc when I get some time.

Is this infrastructure overhaul also going to address getting / adding / removing users from teams?
I understand the complexity in handling licenses, but handling users should theoretically be relatively simple to implement, right?

You’re welcome. No, the overhaul (at least this time around) is not going to address the way users are added or removed. The overhaul is only for the Cloud Zoo side of the infrastructure.

What exactly are you trying to achieve?

I was just looking for a better way to manage (get, add, remove) members of a team in the cloud zoo. I guess I’m mostly having difficulty with removing and checking (adding is relatively simple).

Aside from going through the web interface, currently I have to go through a list of members of several pages, clicking the next or previous buttons because every page only displays 10 members, and find the members I want to remove. Then go to each member’s page and click remove there and repeat.

There are multiple ways this could be improved, like having

  • a way to display all members on one page
  • a search box
  • checkmarks to select multiple members at the same time
  • option to upload a csv to bulk add/remove

Doing it through an API is another option in addition to the above, which could be the most flexible.

Thanks for your feedback @famak2,

I’ve added an item on our internal tracker for adding search functionality. The last two items on your list are already being tracked, and the checkmarks in particular is something that we might be able to roll out in the near future.

Last but not least, is there a reason why you can’t use a linked external auth provider like Azure / Okta / etc… to handle these use cases rather than relying on manually adding / removing users via accounts.rhino3d.com? I’m not trying to evade accountability, I’m just curious about the exact workflow here.

1 Like

Thanks!

The reason for not linking is just the hassle of the initial set up and not fully understanding how exactly it will function, though I understand it could make things easier for managing the users. It will require some testing when there’s time for it.
Does this option also automatically remove the users when they shouldn’t have access anymore?