In doing automation of our provisioning, I've run into three deficiencies that are expensive and time-consuming to work around.
1) There is no API to retrieve a group by name, only by ID. If one is synchronizing groups for an external source, it's necessary to retrieve all of the groups from Box before they can be matched up. As more groups are created, this is an increasingly time consuming step.
2) There is no API to retrieve a user by email address. Our users may have alternate email addresses, which are not necessarily their logon. This can cause confusion in our self-service application when users have trouble looking up their Box account by the email address they commonly use, which isn't the one their account logon is mapped to. That requires us to keep a lookup table on our side, which leads to...
3) It's very time consuming to list all of the aliases. That field isn't returned in the bulk 'list enterprise users' query. It must be queried one record at a time, which takes nearly an hour in our enterprise.
It would be a great improvement if those missing parts in the API could be provided.